<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Jetson Inference: OpenGL</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="NVLogo_2D.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Jetson Inference
   </div>
   <div id="projectbrief">DNN Vision Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__OpenGL.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">OpenGL<div class="ingroups"><a class="el" href="group__util.html">Utilities Library (jetson-utils)</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>OpenGL textures and display window (X11/GLX).  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:classglBuffer"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#classglBuffer">glBuffer</a></td></tr>
<tr class="memdesc:classglBuffer"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL buffer with CUDA interoperability.  <a href="group__OpenGL.html#classglBuffer">More...</a><br /></td></tr>
<tr class="separator:classglBuffer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:classglCamera"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#classglCamera">glCamera</a></td></tr>
<tr class="memdesc:classglCamera"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL perspective camera supporting Look-At, Yaw/Pitch/Roll, and Ortho modes.  <a href="group__OpenGL.html#classglCamera">More...</a><br /></td></tr>
<tr class="separator:classglCamera"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:classglDisplay"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a></td></tr>
<tr class="memdesc:classglDisplay"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL display window and image/video renderer with CUDA interoperability.  <a href="group__OpenGL.html#classglDisplay">More...</a><br /></td></tr>
<tr class="separator:classglDisplay"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:classglTexture"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#classglTexture">glTexture</a></td></tr>
<tr class="memdesc:classglTexture"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL texture with CUDA interoperability.  <a href="group__OpenGL.html#classglTexture">More...</a><br /></td></tr>
<tr class="separator:classglTexture"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:classglWidget"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a></td></tr>
<tr class="memdesc:classglWidget"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL graphics widget for rendering moveable/resizable shapes.  <a href="group__OpenGL.html#classglWidget">More...</a><br /></td></tr>
<tr class="separator:classglWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga0bd307cace43e530c0595a5f175bbee5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga0bd307cace43e530c0595a5f175bbee5">GL_VERTEX_BUFFER</a>&#160;&#160;&#160;GL_ARRAY_BUFFER</td></tr>
<tr class="memdesc:ga0bd307cace43e530c0595a5f175bbee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for vertex buffers.  <a href="group__OpenGL.html#ga0bd307cace43e530c0595a5f175bbee5">More...</a><br /></td></tr>
<tr class="separator:ga0bd307cace43e530c0595a5f175bbee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8030c5f4c6c173efeb78dbf732bd72c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gaa8030c5f4c6c173efeb78dbf732bd72c">GL_INDEX_BUFFER</a>&#160;&#160;&#160;GL_ELEMENT_ARRAY_BUFFER</td></tr>
<tr class="memdesc:gaa8030c5f4c6c173efeb78dbf732bd72c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for index buffers.  <a href="group__OpenGL.html#gaa8030c5f4c6c173efeb78dbf732bd72c">More...</a><br /></td></tr>
<tr class="separator:gaa8030c5f4c6c173efeb78dbf732bd72c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35178b75efe97d52bb130b75e1ddd5f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga35178b75efe97d52bb130b75e1ddd5f3">GL_MAP_CPU</a>&#160;&#160;&#160;0x1</td></tr>
<tr class="memdesc:ga35178b75efe97d52bb130b75e1ddd5f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the buffer to CPU address space.  <a href="group__OpenGL.html#ga35178b75efe97d52bb130b75e1ddd5f3">More...</a><br /></td></tr>
<tr class="separator:ga35178b75efe97d52bb130b75e1ddd5f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ca90a8f0970ac09dcd34cf9908cbeee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga3ca90a8f0970ac09dcd34cf9908cbeee">GL_MAP_CUDA</a>&#160;&#160;&#160;0x2</td></tr>
<tr class="memdesc:ga3ca90a8f0970ac09dcd34cf9908cbeee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the buffer to CUDA address space.  <a href="group__OpenGL.html#ga3ca90a8f0970ac09dcd34cf9908cbeee">More...</a><br /></td></tr>
<tr class="separator:ga3ca90a8f0970ac09dcd34cf9908cbeee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83b36ae7f5be085cfb52c24a8def5457"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga83b36ae7f5be085cfb52c24a8def5457">GL_FROM_CPU</a>&#160;&#160;&#160;0x3</td></tr>
<tr class="memdesc:ga83b36ae7f5be085cfb52c24a8def5457"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the buffer from CPU to OpenGL.  <a href="group__OpenGL.html#ga83b36ae7f5be085cfb52c24a8def5457">More...</a><br /></td></tr>
<tr class="separator:ga83b36ae7f5be085cfb52c24a8def5457"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedd033c4196021ff338e5e123d7c193f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gaedd033c4196021ff338e5e123d7c193f">GL_FROM_CUDA</a>&#160;&#160;&#160;0x4</td></tr>
<tr class="memdesc:gaedd033c4196021ff338e5e123d7c193f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the buffer from CUDA to OpenGL.  <a href="group__OpenGL.html#gaedd033c4196021ff338e5e123d7c193f">More...</a><br /></td></tr>
<tr class="separator:gaedd033c4196021ff338e5e123d7c193f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a91d7f7cdf8b17bbc503ef86e9de6a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga1a91d7f7cdf8b17bbc503ef86e9de6a6">GL_TO_CPU</a>&#160;&#160;&#160;0x5</td></tr>
<tr class="memdesc:ga1a91d7f7cdf8b17bbc503ef86e9de6a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the buffer to CPU from OpenGL.  <a href="group__OpenGL.html#ga1a91d7f7cdf8b17bbc503ef86e9de6a6">More...</a><br /></td></tr>
<tr class="separator:ga1a91d7f7cdf8b17bbc503ef86e9de6a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72987ef9b0b241cddbdca6da7d71dadf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga72987ef9b0b241cddbdca6da7d71dadf">GL_TO_CUDA</a>&#160;&#160;&#160;0x6</td></tr>
<tr class="memdesc:ga72987ef9b0b241cddbdca6da7d71dadf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the buffer to CUDA from OpenGL.  <a href="group__OpenGL.html#ga72987ef9b0b241cddbdca6da7d71dadf">More...</a><br /></td></tr>
<tr class="separator:ga72987ef9b0b241cddbdca6da7d71dadf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0eda41e13107c1422939c363e9596797"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga0eda41e13107c1422939c363e9596797">GL_WRITE_DISCARD</a>&#160;&#160;&#160;(<a class="el" href="group__OpenGL.html#gaa5fd429fd2b79f5936c1421afb205dcd">GL_READ_WRITE</a> + 0xff)</td></tr>
<tr class="memdesc:ga0eda41e13107c1422939c363e9596797"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the buffer as write-only and discard previous contents.  <a href="group__OpenGL.html#ga0eda41e13107c1422939c363e9596797">More...</a><br /></td></tr>
<tr class="separator:ga0eda41e13107c1422939c363e9596797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab43997c5949dffce6674a7bb8a3059da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gab43997c5949dffce6674a7bb8a3059da">GL_WRITE_ONLY</a>&#160;&#160;&#160;GL_WRITE_ONLY_ARB</td></tr>
<tr class="memdesc:gab43997c5949dffce6674a7bb8a3059da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the buffer with write-only access.  <a href="group__OpenGL.html#gab43997c5949dffce6674a7bb8a3059da">More...</a><br /></td></tr>
<tr class="separator:gab43997c5949dffce6674a7bb8a3059da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe26dad29b9cb2620e815e5fecea71f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gafe26dad29b9cb2620e815e5fecea71f9">GL_READ_ONLY</a>&#160;&#160;&#160;GL_READ_ONLY_ARB</td></tr>
<tr class="memdesc:gafe26dad29b9cb2620e815e5fecea71f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the buffer with read-only access.  <a href="group__OpenGL.html#gafe26dad29b9cb2620e815e5fecea71f9">More...</a><br /></td></tr>
<tr class="separator:gafe26dad29b9cb2620e815e5fecea71f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5fd429fd2b79f5936c1421afb205dcd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gaa5fd429fd2b79f5936c1421afb205dcd">GL_READ_WRITE</a>&#160;&#160;&#160;GL_READ_WRITE_ARB</td></tr>
<tr class="memdesc:gaa5fd429fd2b79f5936c1421afb205dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the buffer with read/write access.  <a href="group__OpenGL.html#gaa5fd429fd2b79f5936c1421afb205dcd">More...</a><br /></td></tr>
<tr class="separator:gaa5fd429fd2b79f5936c1421afb205dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8386b89daf8ec3a1805554fd95b80a9e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga8386b89daf8ec3a1805554fd95b80a9e">KEY_PRESSED</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga8386b89daf8ec3a1805554fd95b80a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for KEY_STATE and KEY_RAW events when key is pressed.  <a href="group__OpenGL.html#ga8386b89daf8ec3a1805554fd95b80a9e">More...</a><br /></td></tr>
<tr class="separator:ga8386b89daf8ec3a1805554fd95b80a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada3a4be515b3527c1691ce080655877f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gada3a4be515b3527c1691ce080655877f">KEY_RELEASED</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gada3a4be515b3527c1691ce080655877f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for KEY_STATE and KEY_RAW events when key is released.  <a href="group__OpenGL.html#gada3a4be515b3527c1691ce080655877f">More...</a><br /></td></tr>
<tr class="separator:gada3a4be515b3527c1691ce080655877f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b6ad02991ecad1673dab379a9f58acd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga2b6ad02991ecad1673dab379a9f58acd">MOUSE_PRESSED</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga2b6ad02991ecad1673dab379a9f58acd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for MOUSE_BUTTON event when button is pressed.  <a href="group__OpenGL.html#ga2b6ad02991ecad1673dab379a9f58acd">More...</a><br /></td></tr>
<tr class="separator:ga2b6ad02991ecad1673dab379a9f58acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa430fb566e84a444e76ca05486dc882d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gaa430fb566e84a444e76ca05486dc882d">MOUSE_RELEASED</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gaa430fb566e84a444e76ca05486dc882d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for MOUSE_BUTTON event when button is released.  <a href="group__OpenGL.html#gaa430fb566e84a444e76ca05486dc882d">More...</a><br /></td></tr>
<tr class="separator:gaa430fb566e84a444e76ca05486dc882d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga194f107d8c7d12bc83db00d024d5e513"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga194f107d8c7d12bc83db00d024d5e513">MOUSE_LEFT</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga194f107d8c7d12bc83db00d024d5e513"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for the left mouse button number.  <a href="group__OpenGL.html#ga194f107d8c7d12bc83db00d024d5e513">More...</a><br /></td></tr>
<tr class="separator:ga194f107d8c7d12bc83db00d024d5e513"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f7a686becd5d10c3cf769a6a1da7989"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga2f7a686becd5d10c3cf769a6a1da7989">MOUSE_MIDDLE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga2f7a686becd5d10c3cf769a6a1da7989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for the middle mouse button (or scroll wheel button)  <a href="group__OpenGL.html#ga2f7a686becd5d10c3cf769a6a1da7989">More...</a><br /></td></tr>
<tr class="separator:ga2f7a686becd5d10c3cf769a6a1da7989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46f1ed1152bf8bf7680873ad678b3651"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga46f1ed1152bf8bf7680873ad678b3651">MOUSE_RIGHT</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ga46f1ed1152bf8bf7680873ad678b3651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for the right mouse button number.  <a href="group__OpenGL.html#ga46f1ed1152bf8bf7680873ad678b3651">More...</a><br /></td></tr>
<tr class="separator:ga46f1ed1152bf8bf7680873ad678b3651"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5268fa4c5e397526716bac7b30f639ee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga5268fa4c5e397526716bac7b30f639ee">MOUSE_WHEEL_UP</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:ga5268fa4c5e397526716bac7b30f639ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for the mouse wheel scroll up button number.  <a href="group__OpenGL.html#ga5268fa4c5e397526716bac7b30f639ee">More...</a><br /></td></tr>
<tr class="separator:ga5268fa4c5e397526716bac7b30f639ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a8cfef1d06f7b507fd2ecab7bf75ead"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga5a8cfef1d06f7b507fd2ecab7bf75ead">MOUSE_WHEEL_DOWN</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:ga5a8cfef1d06f7b507fd2ecab7bf75ead"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define for the mouse wheel scroll down button number.  <a href="group__OpenGL.html#ga5a8cfef1d06f7b507fd2ecab7bf75ead">More...</a><br /></td></tr>
<tr class="separator:ga5a8cfef1d06f7b507fd2ecab7bf75ead"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae41a95ad5a27c61fb413ec178089a803"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gae41a95ad5a27c61fb413ec178089a803">GL_RGB32F</a>&#160;&#160;&#160;GL_RGB32F_ARB</td></tr>
<tr class="memdesc:gae41a95ad5a27c61fb413ec178089a803"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for GL_RGB32F.  <a href="group__OpenGL.html#gae41a95ad5a27c61fb413ec178089a803">More...</a><br /></td></tr>
<tr class="separator:gae41a95ad5a27c61fb413ec178089a803"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace8155682f86789a9af13e7026df4615"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gace8155682f86789a9af13e7026df4615">GL_RGBA32F</a>&#160;&#160;&#160;GL_RGBA32F_ARB</td></tr>
<tr class="memdesc:gace8155682f86789a9af13e7026df4615"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for GL_RGBA32F.  <a href="group__OpenGL.html#gace8155682f86789a9af13e7026df4615">More...</a><br /></td></tr>
<tr class="separator:gace8155682f86789a9af13e7026df4615"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe9ef8f3c57b226efaf58ab3059bceab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gabe9ef8f3c57b226efaf58ab3059bceab">LOG_GL</a>&#160;&#160;&#160;&quot;[OpenGL] &quot;</td></tr>
<tr class="memdesc:gabe9ef8f3c57b226efaf58ab3059bceab"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL logging prefix.  <a href="group__OpenGL.html#gabe9ef8f3c57b226efaf58ab3059bceab">More...</a><br /></td></tr>
<tr class="separator:gabe9ef8f3c57b226efaf58ab3059bceab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf3b91dc56dd99fa3abbce89be15fef93"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gaf3b91dc56dd99fa3abbce89be15fef93">GL</a>(x)&#160;&#160;&#160;{ x; <a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>( #x, __FILE__, __LINE__ ); }</td></tr>
<tr class="memdesc:gaf3b91dc56dd99fa3abbce89be15fef93"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL error-checking macro.  <a href="group__OpenGL.html#gaf3b91dc56dd99fa3abbce89be15fef93">More...</a><br /></td></tr>
<tr class="separator:gaf3b91dc56dd99fa3abbce89be15fef93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26503b7a548ff678a4dc5aa73de4c784"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga26503b7a548ff678a4dc5aa73de4c784">GL_VERIFY</a>(x)&#160;&#160;&#160;{ x; if(<a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>( #x, __FILE__, __LINE__ )) return false; }</td></tr>
<tr class="memdesc:ga26503b7a548ff678a4dc5aa73de4c784"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return false on OpenGL error.  <a href="group__OpenGL.html#ga26503b7a548ff678a4dc5aa73de4c784">More...</a><br /></td></tr>
<tr class="separator:ga26503b7a548ff678a4dc5aa73de4c784"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae16e17292445d5654bb49896cdd49bcd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gae16e17292445d5654bb49896cdd49bcd">GL_VERIFYN</a>(x)&#160;&#160;&#160;{ x; if(<a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>( #x, __FILE__, __LINE__ )) return NULL; }</td></tr>
<tr class="memdesc:gae16e17292445d5654bb49896cdd49bcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL NULL on OpenGL error.  <a href="group__OpenGL.html#gae16e17292445d5654bb49896cdd49bcd">More...</a><br /></td></tr>
<tr class="separator:gae16e17292445d5654bb49896cdd49bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99a7852633ed1a98e0f1918367355ec0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga99a7852633ed1a98e0f1918367355ec0">GL_CHECK</a>(msg)&#160;&#160;&#160;{ <a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>(msg, __FILE__, __LINE__); }</td></tr>
<tr class="memdesc:ga99a7852633ed1a98e0f1918367355ec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a message on OpenGL error.  <a href="group__OpenGL.html#ga99a7852633ed1a98e0f1918367355ec0">More...</a><br /></td></tr>
<tr class="separator:ga99a7852633ed1a98e0f1918367355ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gacbcfc0668226b31d1becba25887ff47e"><td class="memItemLeft" align="right" valign="top">typedef bool(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a>) (uint16_t event, int a, int b, void *user)</td></tr>
<tr class="memdesc:gacbcfc0668226b31d1becba25887ff47e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__threads.html#classEvent" title="Event object for signalling other threads.">Event</a> message handler callback for recieving UI messages from a window.  <a href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">More...</a><br /></td></tr>
<tr class="separator:gacbcfc0668226b31d1becba25887ff47e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gadad47fc5cdbc7af41eee1991038749fe"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gadad47fc5cdbc7af41eee1991038749fe">glEventType</a> { <br />
&#160;&#160;<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea7513d383f97428a41f8b44594874d469">MOUSE_MOVE</a> = 0, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea8de816dffb2b2835bd493047322de4d8">MOUSE_ABSOLUTE</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fead81c1a06c50141d5a469d4513479c24c">MOUSE_BUTTON</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea387b8a2503db0238598215649168bed3">MOUSE_DRAG</a>, 
<br />
&#160;&#160;<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea477b36ffc584a4458ea59eb24c7ea4cb">MOUSE_WHEEL</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749feaa7990d29ca8911d1d65ebe318e3bfdad">KEY_STATE</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749feac72a03e9a29e852b03999c7a8a2076b5">KEY_MODIFIED</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea8f72d21c8a5a305ff69f576d6a799c08">KEY_CHAR</a>, 
<br />
&#160;&#160;<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea596bff109a8d5a26abf4e8d776903919">WIDGET_CREATED</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea1a95cd0d3e7b79901949c2aa3397c955">WIDGET_SELECTED</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea0ec18df1c78ce7428c5a828b29ec8c83">WIDGET_MOVED</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749fea833cc0c2132855c06b26ee0508f22116">WIDGET_RESIZED</a>, 
<br />
&#160;&#160;<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749feafb6f46ac831d8060d921687aba839a82">WINDOW_RESIZED</a>, 
<a class="el" href="group__OpenGL.html#ggadad47fc5cdbc7af41eee1991038749feaa2199f69612be7b5e44d25fab5dab570">WINDOW_CLOSED</a>
<br />
 }</td></tr>
<tr class="memdesc:gadad47fc5cdbc7af41eee1991038749fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">User interface event message types.  <a href="group__OpenGL.html#gadad47fc5cdbc7af41eee1991038749fe">More...</a><br /></td></tr>
<tr class="separator:gadad47fc5cdbc7af41eee1991038749fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga6af68c26b9f5254ee676de8b6f332ad4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga6af68c26b9f5254ee676de8b6f332ad4">glGetDisplay</a> (uint32_t display=0)</td></tr>
<tr class="memdesc:ga6af68c26b9f5254ee676de8b6f332ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a display window object.  <a href="group__OpenGL.html#ga6af68c26b9f5254ee676de8b6f332ad4">More...</a><br /></td></tr>
<tr class="separator:ga6af68c26b9f5254ee676de8b6f332ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80a5aa43c317714fe5bb41e1db6eb4c4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga80a5aa43c317714fe5bb41e1db6eb4c4">glGetNumDisplays</a> ()</td></tr>
<tr class="memdesc:ga80a5aa43c317714fe5bb41e1db6eb4c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of created <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a> windows.  <a href="group__OpenGL.html#ga80a5aa43c317714fe5bb41e1db6eb4c4">More...</a><br /></td></tr>
<tr class="separator:ga80a5aa43c317714fe5bb41e1db6eb4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1e51833a1b003db2359ea965e501806"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gaa1e51833a1b003db2359ea965e501806">glCheckError</a> (const char *msg, const char *file, int line)</td></tr>
<tr class="memdesc:gaa1e51833a1b003db2359ea965e501806"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL error-checking messsage function.  <a href="group__OpenGL.html#gaa1e51833a1b003db2359ea965e501806">More...</a><br /></td></tr>
<tr class="separator:gaa1e51833a1b003db2359ea965e501806"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c5211ebc6e2eee2b12288cd52c4236e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a> (const char *msg)</td></tr>
<tr class="memdesc:ga9c5211ebc6e2eee2b12288cd52c4236e"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL error check + logging.  <a href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">More...</a><br /></td></tr>
<tr class="separator:ga9c5211ebc6e2eee2b12288cd52c4236e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae70530a98d9a14c84fffea7e3f3083ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gae70530a98d9a14c84fffea7e3f3083ab">glPrintFreeMem</a> ()</td></tr>
<tr class="memdesc:gae70530a98d9a14c84fffea7e3f3083ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print the amount of free GPU memory.  <a href="group__OpenGL.html#gae70530a98d9a14c84fffea7e3f3083ab">More...</a><br /></td></tr>
<tr class="separator:gae70530a98d9a14c84fffea7e3f3083ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1351087d1392a2515441ba778e05259"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#gae1351087d1392a2515441ba778e05259">glDrawLine</a> (float x1, float y1, float x2, float y2, float r, float g, float b, float a=1.0f, float thickness=2.0f)</td></tr>
<tr class="memdesc:gae1351087d1392a2515441ba778e05259"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a line in screen coordinates with the specified color.  <a href="group__OpenGL.html#gae1351087d1392a2515441ba778e05259">More...</a><br /></td></tr>
<tr class="separator:gae1351087d1392a2515441ba778e05259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga660ba418bd80bc2d03f4074f96b36b95"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga660ba418bd80bc2d03f4074f96b36b95">glDrawOutline</a> (float x, float y, float width, float height, float r, float g, float b, float a=1.0f, float thickness=2.0f)</td></tr>
<tr class="memdesc:ga660ba418bd80bc2d03f4074f96b36b95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render the outline of a rect in screen coordinates with the specified color.  <a href="group__OpenGL.html#ga660ba418bd80bc2d03f4074f96b36b95">More...</a><br /></td></tr>
<tr class="separator:ga660ba418bd80bc2d03f4074f96b36b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b01504c8fc6cf9553989916a471ce23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ga3b01504c8fc6cf9553989916a471ce23">glDrawRect</a> (float x, float y, float width, float height, float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:ga3b01504c8fc6cf9553989916a471ce23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a filled rect in screen coordinates with the specified color.  <a href="group__OpenGL.html#ga3b01504c8fc6cf9553989916a471ce23">More...</a><br /></td></tr>
<tr class="separator:ga3b01504c8fc6cf9553989916a471ce23"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>OpenGL textures and display window (X11/GLX). </p>
<hr/><h2 class="groupheader">Class Documentation</h2>
<a name="classglBuffer" id="classglBuffer"></a>
<h2 class="memtitle"><span class="permalink"><a href="#classglBuffer">&#9670;&nbsp;</a></span>glBuffer</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class glBuffer</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>OpenGL buffer with CUDA interoperability. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Public Member Functions</h3></td></tr>
<tr class="memitem:aa68c3df899e3305236c694d43fba29eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa68c3df899e3305236c694d43fba29eb">~glBuffer</a> ()</td></tr>
<tr class="memdesc:aa68c3df899e3305236c694d43fba29eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the buffer.  <a href="group__OpenGL.html#aa68c3df899e3305236c694d43fba29eb">More...</a><br /></td></tr>
<tr class="separator:aa68c3df899e3305236c694d43fba29eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f5e860c31aba728e5e52826f09ecb5f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a4f5e860c31aba728e5e52826f09ecb5f">Bind</a> ()</td></tr>
<tr class="memdesc:a4f5e860c31aba728e5e52826f09ecb5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate using the buffer.  <a href="group__OpenGL.html#a4f5e860c31aba728e5e52826f09ecb5f">More...</a><br /></td></tr>
<tr class="separator:a4f5e860c31aba728e5e52826f09ecb5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42211a6a486c9334d8796684803ce5aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a42211a6a486c9334d8796684803ce5aa">Unbind</a> ()</td></tr>
<tr class="memdesc:a42211a6a486c9334d8796684803ce5aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deactivate using the buffer.  <a href="group__OpenGL.html#a42211a6a486c9334d8796684803ce5aa">More...</a><br /></td></tr>
<tr class="separator:a42211a6a486c9334d8796684803ce5aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfb2d3283887fe3cc4a58ee08b544251"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#abfb2d3283887fe3cc4a58ee08b544251">GetID</a> () const</td></tr>
<tr class="memdesc:abfb2d3283887fe3cc4a58ee08b544251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the OpenGL resource handle of the buffer.  <a href="group__OpenGL.html#abfb2d3283887fe3cc4a58ee08b544251">More...</a><br /></td></tr>
<tr class="separator:abfb2d3283887fe3cc4a58ee08b544251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ea0513d06cab3172bc6c82c1a9c024"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a86ea0513d06cab3172bc6c82c1a9c024">GetType</a> () const</td></tr>
<tr class="memdesc:a86ea0513d06cab3172bc6c82c1a9c024"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the buffer type (GL_VERTEX_BUFFER or GL_INDEX_BUFFER)  <a href="group__OpenGL.html#a86ea0513d06cab3172bc6c82c1a9c024">More...</a><br /></td></tr>
<tr class="separator:a86ea0513d06cab3172bc6c82c1a9c024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a580879d597540e6775457f1fd2a5eaaf"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a580879d597540e6775457f1fd2a5eaaf">GetSize</a> () const</td></tr>
<tr class="memdesc:a580879d597540e6775457f1fd2a5eaaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the total size in bytes of the buffer.  <a href="group__OpenGL.html#a580879d597540e6775457f1fd2a5eaaf">More...</a><br /></td></tr>
<tr class="separator:a580879d597540e6775457f1fd2a5eaaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a85731d95935b4da3725caa5853974e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3a85731d95935b4da3725caa5853974e">GetNumElements</a> () const</td></tr>
<tr class="memdesc:a3a85731d95935b4da3725caa5853974e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the number of elements (i.e.  <a href="group__OpenGL.html#a3a85731d95935b4da3725caa5853974e">More...</a><br /></td></tr>
<tr class="separator:a3a85731d95935b4da3725caa5853974e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27fac07e59d2f4acb149c80e71124b7d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a27fac07e59d2f4acb149c80e71124b7d">GetElementSize</a> () const</td></tr>
<tr class="memdesc:a27fac07e59d2f4acb149c80e71124b7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the size in bytes of each element.  <a href="group__OpenGL.html#a27fac07e59d2f4acb149c80e71124b7d">More...</a><br /></td></tr>
<tr class="separator:a27fac07e59d2f4acb149c80e71124b7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6be33e8d39823bc9e231c4c6eacdff5d"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a6be33e8d39823bc9e231c4c6eacdff5d">Map</a> (uint32_t device, uint32_t flags)</td></tr>
<tr class="memdesc:a6be33e8d39823bc9e231c4c6eacdff5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the buffer for accessing from the CPU or CUDA.  <a href="group__OpenGL.html#a6be33e8d39823bc9e231c4c6eacdff5d">More...</a><br /></td></tr>
<tr class="separator:a6be33e8d39823bc9e231c4c6eacdff5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9eb0b82989ca01d884dd2d5bed3d5d44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a9eb0b82989ca01d884dd2d5bed3d5d44">Unmap</a> ()</td></tr>
<tr class="memdesc:a9eb0b82989ca01d884dd2d5bed3d5d44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmap the buffer from CPU/CUDA access.  <a href="group__OpenGL.html#a9eb0b82989ca01d884dd2d5bed3d5d44">More...</a><br /></td></tr>
<tr class="separator:a9eb0b82989ca01d884dd2d5bed3d5d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c90d9ff6bf53e29ea72c721f8e36dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ad1c90d9ff6bf53e29ea72c721f8e36dc">Copy</a> (void *ptr, uint32_t flags)</td></tr>
<tr class="memdesc:ad1c90d9ff6bf53e29ea72c721f8e36dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy entire contents of the buffer to/from CPU or CUDA memory.  <a href="group__OpenGL.html#ad1c90d9ff6bf53e29ea72c721f8e36dc">More...</a><br /></td></tr>
<tr class="separator:ad1c90d9ff6bf53e29ea72c721f8e36dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e470138ea7b8815d5b4a32a76dda2da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0e470138ea7b8815d5b4a32a76dda2da">Copy</a> (void *ptr, uint32_t size, uint32_t flags)</td></tr>
<tr class="memdesc:a0e470138ea7b8815d5b4a32a76dda2da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy contents of the buffer to/from CPU or CUDA memory.  <a href="group__OpenGL.html#a0e470138ea7b8815d5b4a32a76dda2da">More...</a><br /></td></tr>
<tr class="separator:a0e470138ea7b8815d5b4a32a76dda2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a0c8f682e86bbe1842eda56cf478ffb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a9a0c8f682e86bbe1842eda56cf478ffb">Copy</a> (void *ptr, uint32_t offset, uint32_t size, uint32_t flags)</td></tr>
<tr class="memdesc:a9a0c8f682e86bbe1842eda56cf478ffb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy contents of the buffer to/from CPU or CUDA memory.  <a href="group__OpenGL.html#a9a0c8f682e86bbe1842eda56cf478ffb">More...</a><br /></td></tr>
<tr class="separator:a9a0c8f682e86bbe1842eda56cf478ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Static Public Member Functions</h3></td></tr>
<tr class="memitem:a17734482bf95e1d85c80e92072e6ac5b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__OpenGL.html#classglBuffer">glBuffer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a17734482bf95e1d85c80e92072e6ac5b">Create</a> (uint32_t type, uint32_t size, void *data=NULL, uint32_t usage=GL_STATIC_DRAW)</td></tr>
<tr class="memdesc:a17734482bf95e1d85c80e92072e6ac5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate an OpenGL buffer.  <a href="group__OpenGL.html#a17734482bf95e1d85c80e92072e6ac5b">More...</a><br /></td></tr>
<tr class="separator:a17734482bf95e1d85c80e92072e6ac5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d168857077087365422c4b5db8a3f27"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__OpenGL.html#classglBuffer">glBuffer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a1d168857077087365422c4b5db8a3f27">Create</a> (uint32_t type, uint32_t numElements, uint32_t elementSize, void *data=NULL, uint32_t usage=GL_STATIC_DRAW)</td></tr>
<tr class="memdesc:a1d168857077087365422c4b5db8a3f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate an OpenGL buffer.  <a href="group__OpenGL.html#a1d168857077087365422c4b5db8a3f27">More...</a><br /></td></tr>
<tr class="separator:a1d168857077087365422c4b5db8a3f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Constructor &amp; Destructor Documentation</h4>
<a id="aa68c3df899e3305236c694d43fba29eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa68c3df899e3305236c694d43fba29eb">&#9670;&nbsp;</a></span>~glBuffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">glBuffer::~glBuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free the buffer. </p>

</div>
</div>
<h4 class="groupheader">Member Function Documentation</h4>
<a id="a4f5e860c31aba728e5e52826f09ecb5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f5e860c31aba728e5e52826f09ecb5f">&#9670;&nbsp;</a></span>Bind()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glBuffer::Bind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activate using the buffer. </p>

</div>
</div>
<a id="ad1c90d9ff6bf53e29ea72c721f8e36dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1c90d9ff6bf53e29ea72c721f8e36dc">&#9670;&nbsp;</a></span>Copy() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glBuffer::Copy </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy entire contents of the buffer to/from CPU or CUDA memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>the memory pointer to copy to/from, either in CPU or CUDA address space depending on flags. It's assumed that the size of the memory from this pointer is equal to <a class="el" href="group__OpenGL.html#a580879d597540e6775457f1fd2a5eaaf" title="Retrieve the total size in bytes of the buffer.">GetSize()</a>, and the entire contents of the buffer will be copied.</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_FROM_CPU (copy from CPU-&gt;OpenGL)</li>
<li>GL_FROM_CUDA (copy from CUDA-&gt;OpenGL)</li>
<li>GL_TO_CPU (copy from OpenGL-&gt;CPU)</li>
<li>GL_TO_CUDA (copy from OpenGL-&gt;CUDA)</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>

</div>
</div>
<a id="a9a0c8f682e86bbe1842eda56cf478ffb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a0c8f682e86bbe1842eda56cf478ffb">&#9670;&nbsp;</a></span>Copy() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glBuffer::Copy </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy contents of the buffer to/from CPU or CUDA memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>the memory buffer to copy to/from, either in CPU or CUDA address space depending on flags</td></tr>
    <tr><td class="paramname">offset</td><td>the offset into the OpenGL buffer to copy. It is assumed any offset to the CPU/CUDA pointer argument has already been applied.</td></tr>
    <tr><td class="paramname">size</td><td>the number of bytes to copy</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_FROM_CPU (copy from CPU-&gt;OpenGL)</li>
<li>GL_FROM_CUDA (copy from CUDA-&gt;OpenGL)</li>
<li>GL_TO_CPU (copy from OpenGL-&gt;CPU)</li>
<li>GL_TO_CUDA (copy from OpenGL-&gt;CUDA)</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>

</div>
</div>
<a id="a0e470138ea7b8815d5b4a32a76dda2da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e470138ea7b8815d5b4a32a76dda2da">&#9670;&nbsp;</a></span>Copy() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glBuffer::Copy </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy contents of the buffer to/from CPU or CUDA memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>the memory pointer to copy to/from, either in CPU or CUDA address space depending on flags.</td></tr>
    <tr><td class="paramname">size</td><td>the number of bytes to copy</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_FROM_CPU (copy from CPU-&gt;OpenGL)</li>
<li>GL_FROM_CUDA (copy from CUDA-&gt;OpenGL)</li>
<li>GL_TO_CPU (copy from OpenGL-&gt;CPU)</li>
<li>GL_TO_CUDA (copy from OpenGL-&gt;CUDA)</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>

</div>
</div>
<a id="a1d168857077087365422c4b5db8a3f27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d168857077087365422c4b5db8a3f27">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__OpenGL.html#classglBuffer">glBuffer</a>* glBuffer::Create </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numElements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>elementSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>usage</em> = <code>GL_STATIC_DRAW</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocate an OpenGL buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>either GL_VERTEX_BUFFER for a vertex buffer, or GL_INDEX_BUFFER for an index buffer </td></tr>
    <tr><td class="paramname">numElements</td><td>the number of elements (i.e. vertices or indices) in the buffer </td></tr>
    <tr><td class="paramname">elementSize</td><td>the size in bytes of each element </td></tr>
    <tr><td class="paramname">data</td><td>pointer to the initial memory of this buffer </td></tr>
    <tr><td class="paramname">usage</td><td>GL_STATIC_DRAW (never updated), GL_STREAM_DRAW (occasional updates), or GL_DYNAMIC_DRAW (per-frame updates) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a17734482bf95e1d85c80e92072e6ac5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17734482bf95e1d85c80e92072e6ac5b">&#9670;&nbsp;</a></span>Create() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__OpenGL.html#classglBuffer">glBuffer</a>* glBuffer::Create </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>usage</em> = <code>GL_STATIC_DRAW</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocate an OpenGL buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>either GL_VERTEX_BUFFER for a vertex buffer, or GL_INDEX_BUFFER for an index buffer </td></tr>
    <tr><td class="paramname">size</td><td>the size in bytes to allocated for the buffer </td></tr>
    <tr><td class="paramname">data</td><td>pointer to the initial memory of this buffer </td></tr>
    <tr><td class="paramname">usage</td><td>GL_STATIC_DRAW (never updated), GL_STREAM_DRAW (occasional updates), or GL_DYNAMIC_DRAW (per-frame updates) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a27fac07e59d2f4acb149c80e71124b7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27fac07e59d2f4acb149c80e71124b7d">&#9670;&nbsp;</a></span>GetElementSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glBuffer::GetElementSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the size in bytes of each element. </p>
<dl class="section note"><dt>Note</dt><dd>if the element size wasn't specified while creating the buffer, <a class="el" href="group__OpenGL.html#a27fac07e59d2f4acb149c80e71124b7d" title="Retrieve the size in bytes of each element.">GetElementSize()</a> will be equal to 1 </dd></dl>

</div>
</div>
<a id="abfb2d3283887fe3cc4a58ee08b544251"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfb2d3283887fe3cc4a58ee08b544251">&#9670;&nbsp;</a></span>GetID()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glBuffer::GetID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the OpenGL resource handle of the buffer. </p>

</div>
</div>
<a id="a3a85731d95935b4da3725caa5853974e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a85731d95935b4da3725caa5853974e">&#9670;&nbsp;</a></span>GetNumElements()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glBuffer::GetNumElements </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the number of elements (i.e. </p>
<p>vertices or indices)</p>
<dl class="section note"><dt>Note</dt><dd>if the number of elements weren't specified while creating the buffer, <a class="el" href="group__OpenGL.html#a3a85731d95935b4da3725caa5853974e" title="Retrieve the number of elements (i.e.">GetNumElements()</a> will be equal to <a class="el" href="group__OpenGL.html#a580879d597540e6775457f1fd2a5eaaf" title="Retrieve the total size in bytes of the buffer.">GetSize()</a> </dd></dl>

</div>
</div>
<a id="a580879d597540e6775457f1fd2a5eaaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a580879d597540e6775457f1fd2a5eaaf">&#9670;&nbsp;</a></span>GetSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glBuffer::GetSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the total size in bytes of the buffer. </p>

</div>
</div>
<a id="a86ea0513d06cab3172bc6c82c1a9c024"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86ea0513d06cab3172bc6c82c1a9c024">&#9670;&nbsp;</a></span>GetType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glBuffer::GetType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the buffer type (GL_VERTEX_BUFFER or GL_INDEX_BUFFER) </p>

</div>
</div>
<a id="a6be33e8d39823bc9e231c4c6eacdff5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6be33e8d39823bc9e231c4c6eacdff5d">&#9670;&nbsp;</a></span>Map()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* glBuffer::Map </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the buffer for accessing from the CPU or CUDA. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>either GL_MAP_CPU or GL_MAP_CUDA</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_READ_WRITE</li>
<li>GL_READ_ONLY</li>
<li>GL_WRITE_ONLY</li>
<li>GL_WRITE_DISCARD</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>CPU pointer to buffer if GL_MAP_CPU was specified, CUDA device pointer to buffer if GL_MAP_CUDA was specified, or NULL if an error occurred mapping the buffer. <br  />
 </dd></dl>

</div>
</div>
<a id="a42211a6a486c9334d8796684803ce5aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42211a6a486c9334d8796684803ce5aa">&#9670;&nbsp;</a></span>Unbind()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glBuffer::Unbind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deactivate using the buffer. </p>

</div>
</div>
<a id="a9eb0b82989ca01d884dd2d5bed3d5d44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9eb0b82989ca01d884dd2d5bed3d5d44">&#9670;&nbsp;</a></span>Unmap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glBuffer::Unmap </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unmap the buffer from CPU/CUDA access. </p>
<dl class="section note"><dt>Note</dt><dd>the buffer will be unbound after calling <a class="el" href="group__OpenGL.html#a9eb0b82989ca01d884dd2d5bed3d5d44" title="Unmap the buffer from CPU/CUDA access.">Unmap()</a> </dd></dl>

</div>
</div>

</div>
</div>
<a name="classglCamera" id="classglCamera"></a>
<h2 class="memtitle"><span class="permalink"><a href="#classglCamera">&#9670;&nbsp;</a></span>glCamera</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class glCamera</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>OpenGL perspective camera supporting Look-At, Yaw/Pitch/Roll, and Ortho modes. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Public Types</h3></td></tr>
<tr class="memitem:a29491e624fc3c4bd85def74db643f273"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a> { <a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273a8745252e4ff0a3a08635c0f37a71e806">LookAt</a>, 
<a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273a8ea08fddd9bed660854bb9e6942a75c0">YawPitchRoll</a>, 
<a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273aa71515b38b05be5b8baa702c27da3f1f">Ortho</a>
 }</td></tr>
<tr class="memdesc:a29491e624fc3c4bd85def74db643f273"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enum specifying the camera mode.  <a href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">More...</a><br /></td></tr>
<tr class="separator:a29491e624fc3c4bd85def74db643f273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Public Member Functions</h3></td></tr>
<tr class="memitem:a4f5818f0d43ab3d97a316d4f5834fb63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a4f5818f0d43ab3d97a316d4f5834fb63">~glCamera</a> ()</td></tr>
<tr class="memdesc:a4f5818f0d43ab3d97a316d4f5834fb63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the camera.  <a href="group__OpenGL.html#a4f5818f0d43ab3d97a316d4f5834fb63">More...</a><br /></td></tr>
<tr class="separator:a4f5818f0d43ab3d97a316d4f5834fb63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71bf818dcda3515efe0632ed3144882e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a71bf818dcda3515efe0632ed3144882e">Activate</a> ()</td></tr>
<tr class="memdesc:a71bf818dcda3515efe0632ed3144882e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate GL_PROJECTION and GL_MODELVIEW matrices.  <a href="group__OpenGL.html#a71bf818dcda3515efe0632ed3144882e">More...</a><br /></td></tr>
<tr class="separator:a71bf818dcda3515efe0632ed3144882e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45083bf2dbd5cde15b36612a1a20d10c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a45083bf2dbd5cde15b36612a1a20d10c">Activate</a> (<a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a> mode)</td></tr>
<tr class="memdesc:a45083bf2dbd5cde15b36612a1a20d10c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate GL_PROJECTION and GL_MODELVIEW matrices.  <a href="group__OpenGL.html#a45083bf2dbd5cde15b36612a1a20d10c">More...</a><br /></td></tr>
<tr class="separator:a45083bf2dbd5cde15b36612a1a20d10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57ff1e828c714a95750cd89c167e5d6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a57ff1e828c714a95750cd89c167e5d6b">Deactivate</a> ()</td></tr>
<tr class="memdesc:a57ff1e828c714a95750cd89c167e5d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore previous GL_PROJECTION and GL_MODELVIEW matrices.  <a href="group__OpenGL.html#a57ff1e828c714a95750cd89c167e5d6b">More...</a><br /></td></tr>
<tr class="separator:a57ff1e828c714a95750cd89c167e5d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8ab4555df063460fba8876dadd4062e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac8ab4555df063460fba8876dadd4062e">GetCameraMode</a> () const</td></tr>
<tr class="memdesc:ac8ab4555df063460fba8876dadd4062e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the camera mode.  <a href="group__OpenGL.html#ac8ab4555df063460fba8876dadd4062e">More...</a><br /></td></tr>
<tr class="separator:ac8ab4555df063460fba8876dadd4062e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a347c1ccc0ad3315d4da0702a2faf09f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a347c1ccc0ad3315d4da0702a2faf09f6">SetCameraMode</a> (<a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a> mode)</td></tr>
<tr class="memdesc:a347c1ccc0ad3315d4da0702a2faf09f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the camera mode.  <a href="group__OpenGL.html#a347c1ccc0ad3315d4da0702a2faf09f6">More...</a><br /></td></tr>
<tr class="separator:a347c1ccc0ad3315d4da0702a2faf09f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af47b7686cf77efa848eb434cfa3fd321"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#af47b7686cf77efa848eb434cfa3fd321">SetFOV</a> (float fov)</td></tr>
<tr class="memdesc:af47b7686cf77efa848eb434cfa3fd321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the field of view (FOV), in degrees.  <a href="group__OpenGL.html#af47b7686cf77efa848eb434cfa3fd321">More...</a><br /></td></tr>
<tr class="separator:af47b7686cf77efa848eb434cfa3fd321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a852623aaf193398d25db0a0e9a4dc629"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a852623aaf193398d25db0a0e9a4dc629">SetClippingPlane</a> (float near, float far)</td></tr>
<tr class="memdesc:a852623aaf193398d25db0a0e9a4dc629"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the near/far z-clipping plane.  <a href="group__OpenGL.html#a852623aaf193398d25db0a0e9a4dc629">More...</a><br /></td></tr>
<tr class="separator:a852623aaf193398d25db0a0e9a4dc629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a735b9285463eed8a02b8b902b32a07"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3a735b9285463eed8a02b8b902b32a07">SetNear</a> (float near)</td></tr>
<tr class="memdesc:a3a735b9285463eed8a02b8b902b32a07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the distance to the near clipping plane.  <a href="group__OpenGL.html#a3a735b9285463eed8a02b8b902b32a07">More...</a><br /></td></tr>
<tr class="separator:a3a735b9285463eed8a02b8b902b32a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a147284055bcb4ff3e2c8048b3022b104"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a147284055bcb4ff3e2c8048b3022b104">SetFar</a> (float far)</td></tr>
<tr class="memdesc:a147284055bcb4ff3e2c8048b3022b104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the distance to the far clipping plane.  <a href="group__OpenGL.html#a147284055bcb4ff3e2c8048b3022b104">More...</a><br /></td></tr>
<tr class="separator:a147284055bcb4ff3e2c8048b3022b104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a726cc60dfc9e44f840b2af99880e0e00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a726cc60dfc9e44f840b2af99880e0e00">SetEye</a> (float x, float y, float z)</td></tr>
<tr class="memdesc:a726cc60dfc9e44f840b2af99880e0e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the eye position.  <a href="group__OpenGL.html#a726cc60dfc9e44f840b2af99880e0e00">More...</a><br /></td></tr>
<tr class="separator:a726cc60dfc9e44f840b2af99880e0e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea368e16edee12cee5017f811b316194"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aea368e16edee12cee5017f811b316194">SetLookAt</a> (float x, float y, float z)</td></tr>
<tr class="memdesc:aea368e16edee12cee5017f811b316194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the look-at point.  <a href="group__OpenGL.html#aea368e16edee12cee5017f811b316194">More...</a><br /></td></tr>
<tr class="separator:aea368e16edee12cee5017f811b316194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62c720c85eeef476422bd7c8dbd9a710"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a62c720c85eeef476422bd7c8dbd9a710">SetRotation</a> (float yaw, float pitch, float roll)</td></tr>
<tr class="memdesc:a62c720c85eeef476422bd7c8dbd9a710"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the yaw/pitch/roll angles, in radians.  <a href="group__OpenGL.html#a62c720c85eeef476422bd7c8dbd9a710">More...</a><br /></td></tr>
<tr class="separator:a62c720c85eeef476422bd7c8dbd9a710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a734435b2f59ab105fe94ab77b82a3d85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a734435b2f59ab105fe94ab77b82a3d85">SetYaw</a> (float yaw)</td></tr>
<tr class="memdesc:a734435b2f59ab105fe94ab77b82a3d85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the yaw angle, in radians.  <a href="group__OpenGL.html#a734435b2f59ab105fe94ab77b82a3d85">More...</a><br /></td></tr>
<tr class="separator:a734435b2f59ab105fe94ab77b82a3d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f4db9c7aeb9c87b9e7b8f3f2ad80b91"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a9f4db9c7aeb9c87b9e7b8f3f2ad80b91">SetPitch</a> (float pitch)</td></tr>
<tr class="memdesc:a9f4db9c7aeb9c87b9e7b8f3f2ad80b91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the pitch angle, in radians.  <a href="group__OpenGL.html#a9f4db9c7aeb9c87b9e7b8f3f2ad80b91">More...</a><br /></td></tr>
<tr class="separator:a9f4db9c7aeb9c87b9e7b8f3f2ad80b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae218a6c23442cec2e1ec00e69636ecfc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ae218a6c23442cec2e1ec00e69636ecfc">SetRoll</a> (float roll)</td></tr>
<tr class="memdesc:ae218a6c23442cec2e1ec00e69636ecfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the roll angle, in radians.  <a href="group__OpenGL.html#ae218a6c23442cec2e1ec00e69636ecfc">More...</a><br /></td></tr>
<tr class="separator:ae218a6c23442cec2e1ec00e69636ecfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58f9840ebf78940daff3271506660a43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a58f9840ebf78940daff3271506660a43">SetMovementSpeed</a> (float speed)</td></tr>
<tr class="memdesc:a58f9840ebf78940daff3271506660a43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the movement speed (in world units)  <a href="group__OpenGL.html#a58f9840ebf78940daff3271506660a43">More...</a><br /></td></tr>
<tr class="separator:a58f9840ebf78940daff3271506660a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad41d546593fd4db98970c184dae165dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ad41d546593fd4db98970c184dae165dc">SetMovementEnabled</a> (bool enabled)</td></tr>
<tr class="memdesc:ad41d546593fd4db98970c184dae165dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable movement from user input.  <a href="group__OpenGL.html#ad41d546593fd4db98970c184dae165dc">More...</a><br /></td></tr>
<tr class="separator:ad41d546593fd4db98970c184dae165dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a501f30aa5dbfd57efde333c6d98f22cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a501f30aa5dbfd57efde333c6d98f22cf">StoreDefaults</a> ()</td></tr>
<tr class="memdesc:a501f30aa5dbfd57efde333c6d98f22cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the current configuration as defaults.  <a href="group__OpenGL.html#a501f30aa5dbfd57efde333c6d98f22cf">More...</a><br /></td></tr>
<tr class="separator:a501f30aa5dbfd57efde333c6d98f22cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bf5909cb5b66ad34df86a0e85cfdf0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0bf5909cb5b66ad34df86a0e85cfdf0c">Reset</a> ()</td></tr>
<tr class="memdesc:a0bf5909cb5b66ad34df86a0e85cfdf0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset camera orientation to defaults.  <a href="group__OpenGL.html#a0bf5909cb5b66ad34df86a0e85cfdf0c">More...</a><br /></td></tr>
<tr class="separator:a0bf5909cb5b66ad34df86a0e85cfdf0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab023571c5b0b7d3927851cc0a4389b09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ab023571c5b0b7d3927851cc0a4389b09">RegisterEvents</a> (uint32_t display=0)</td></tr>
<tr class="memdesc:ab023571c5b0b7d3927851cc0a4389b09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register to recieve input events (enable movement)  <a href="group__OpenGL.html#ab023571c5b0b7d3927851cc0a4389b09">More...</a><br /></td></tr>
<tr class="separator:ab023571c5b0b7d3927851cc0a4389b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Static Public Member Functions</h3></td></tr>
<tr class="memitem:a33384be13e585e4461af7f715a36668f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__OpenGL.html#classglCamera">glCamera</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a33384be13e585e4461af7f715a36668f">Create</a> (<a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a> mode, int registerEvents=0)</td></tr>
<tr class="memdesc:a33384be13e585e4461af7f715a36668f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create OpenGL camera object with the specified CameraMode.  <a href="group__OpenGL.html#a33384be13e585e4461af7f715a36668f">More...</a><br /></td></tr>
<tr class="separator:a33384be13e585e4461af7f715a36668f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8a3698e1f1025aec18598cde2c5a74f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__OpenGL.html#classglCamera">glCamera</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa8a3698e1f1025aec18598cde2c5a74f">Create</a> (int registerEvents=0)</td></tr>
<tr class="memdesc:aa8a3698e1f1025aec18598cde2c5a74f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create OpenGL camera object.  <a href="group__OpenGL.html#aa8a3698e1f1025aec18598cde2c5a74f">More...</a><br /></td></tr>
<tr class="separator:aa8a3698e1f1025aec18598cde2c5a74f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Member Enumeration Documentation</h4>
<a id="a29491e624fc3c4bd85def74db643f273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29491e624fc3c4bd85def74db643f273">&#9670;&nbsp;</a></span>CameraMode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">glCamera::CameraMode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enum specifying the camera mode. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a29491e624fc3c4bd85def74db643f273a8745252e4ff0a3a08635c0f37a71e806"></a>LookAt&#160;</td><td class="fielddoc"><p>LookAt (orbit) </p>
</td></tr>
<tr><td class="fieldname"><a id="a29491e624fc3c4bd85def74db643f273a8ea08fddd9bed660854bb9e6942a75c0"></a>YawPitchRoll&#160;</td><td class="fielddoc"><p>YawPitchRoll (first person. </p>
</td></tr>
<tr><td class="fieldname"><a id="a29491e624fc3c4bd85def74db643f273aa71515b38b05be5b8baa702c27da3f1f"></a>Ortho&#160;</td><td class="fielddoc"><p>Ortho (2D) </p>
</td></tr>
</table>

</div>
</div>
<h4 class="groupheader">Constructor &amp; Destructor Documentation</h4>
<a id="a4f5818f0d43ab3d97a316d4f5834fb63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f5818f0d43ab3d97a316d4f5834fb63">&#9670;&nbsp;</a></span>~glCamera()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">glCamera::~glCamera </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free the camera. </p>

</div>
</div>
<h4 class="groupheader">Member Function Documentation</h4>
<a id="a71bf818dcda3515efe0632ed3144882e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71bf818dcda3515efe0632ed3144882e">&#9670;&nbsp;</a></span>Activate() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::Activate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activate GL_PROJECTION and GL_MODELVIEW matrices. </p>

</div>
</div>
<a id="a45083bf2dbd5cde15b36612a1a20d10c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45083bf2dbd5cde15b36612a1a20d10c">&#9670;&nbsp;</a></span>Activate() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::Activate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activate GL_PROJECTION and GL_MODELVIEW matrices. </p>

</div>
</div>
<a id="a33384be13e585e4461af7f715a36668f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33384be13e585e4461af7f715a36668f">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__OpenGL.html#classglCamera">glCamera</a>* glCamera::Create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>registerEvents</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create OpenGL camera object with the specified CameraMode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">registerEvents</td><td>the ID of the <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a> window to register with to recieve input events (for moving the camera around with keyboard/mouse), or -1 to not register for input events. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa8a3698e1f1025aec18598cde2c5a74f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8a3698e1f1025aec18598cde2c5a74f">&#9670;&nbsp;</a></span>Create() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__OpenGL.html#classglCamera">glCamera</a>* glCamera::Create </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>registerEvents</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create OpenGL camera object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">registerEvents</td><td>the ID of the <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a> window to register with to recieve input events (for moving the camera around with keyboard/mouse), or -1 to not register for input events. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a57ff1e828c714a95750cd89c167e5d6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57ff1e828c714a95750cd89c167e5d6b">&#9670;&nbsp;</a></span>Deactivate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::Deactivate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Restore previous GL_PROJECTION and GL_MODELVIEW matrices. </p>

</div>
</div>
<a id="ac8ab4555df063460fba8876dadd4062e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8ab4555df063460fba8876dadd4062e">&#9670;&nbsp;</a></span>GetCameraMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a> glCamera::GetCameraMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the camera mode. </p>

</div>
</div>
<a id="ab023571c5b0b7d3927851cc0a4389b09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab023571c5b0b7d3927851cc0a4389b09">&#9670;&nbsp;</a></span>RegisterEvents()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::RegisterEvents </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>display</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register to recieve input events (enable movement) </p>

</div>
</div>
<a id="a0bf5909cb5b66ad34df86a0e85cfdf0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bf5909cb5b66ad34df86a0e85cfdf0c">&#9670;&nbsp;</a></span>Reset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::Reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset camera orientation to defaults. </p>

</div>
</div>
<a id="a347c1ccc0ad3315d4da0702a2faf09f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a347c1ccc0ad3315d4da0702a2faf09f6">&#9670;&nbsp;</a></span>SetCameraMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetCameraMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a29491e624fc3c4bd85def74db643f273">CameraMode</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the camera mode. </p>

</div>
</div>
<a id="a852623aaf193398d25db0a0e9a4dc629"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a852623aaf193398d25db0a0e9a4dc629">&#9670;&nbsp;</a></span>SetClippingPlane()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetClippingPlane </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>near</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>far</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the near/far z-clipping plane. </p>

</div>
</div>
<a id="a726cc60dfc9e44f840b2af99880e0e00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a726cc60dfc9e44f840b2af99880e0e00">&#9670;&nbsp;</a></span>SetEye()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetEye </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the eye position. </p>

</div>
</div>
<a id="a147284055bcb4ff3e2c8048b3022b104"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a147284055bcb4ff3e2c8048b3022b104">&#9670;&nbsp;</a></span>SetFar()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetFar </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>far</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the distance to the far clipping plane. </p>

</div>
</div>
<a id="af47b7686cf77efa848eb434cfa3fd321"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af47b7686cf77efa848eb434cfa3fd321">&#9670;&nbsp;</a></span>SetFOV()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetFOV </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>fov</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the field of view (FOV), in degrees. </p>

</div>
</div>
<a id="aea368e16edee12cee5017f811b316194"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea368e16edee12cee5017f811b316194">&#9670;&nbsp;</a></span>SetLookAt()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetLookAt </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the look-at point. </p>

</div>
</div>
<a id="ad41d546593fd4db98970c184dae165dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad41d546593fd4db98970c184dae165dc">&#9670;&nbsp;</a></span>SetMovementEnabled()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetMovementEnabled </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enabled</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Enable or disable movement from user input. </p>

</div>
</div>
<a id="a58f9840ebf78940daff3271506660a43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58f9840ebf78940daff3271506660a43">&#9670;&nbsp;</a></span>SetMovementSpeed()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetMovementSpeed </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>speed</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the movement speed (in world units) </p>

</div>
</div>
<a id="a3a735b9285463eed8a02b8b902b32a07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a735b9285463eed8a02b8b902b32a07">&#9670;&nbsp;</a></span>SetNear()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetNear </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>near</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the distance to the near clipping plane. </p>

</div>
</div>
<a id="a9f4db9c7aeb9c87b9e7b8f3f2ad80b91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f4db9c7aeb9c87b9e7b8f3f2ad80b91">&#9670;&nbsp;</a></span>SetPitch()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetPitch </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>pitch</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the pitch angle, in radians. </p>

</div>
</div>
<a id="ae218a6c23442cec2e1ec00e69636ecfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae218a6c23442cec2e1ec00e69636ecfc">&#9670;&nbsp;</a></span>SetRoll()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetRoll </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>roll</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the roll angle, in radians. </p>

</div>
</div>
<a id="a62c720c85eeef476422bd7c8dbd9a710"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62c720c85eeef476422bd7c8dbd9a710">&#9670;&nbsp;</a></span>SetRotation()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetRotation </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>yaw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>pitch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>roll</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the yaw/pitch/roll angles, in radians. </p>

</div>
</div>
<a id="a734435b2f59ab105fe94ab77b82a3d85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a734435b2f59ab105fe94ab77b82a3d85">&#9670;&nbsp;</a></span>SetYaw()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::SetYaw </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>yaw</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the yaw angle, in radians. </p>

</div>
</div>
<a id="a501f30aa5dbfd57efde333c6d98f22cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a501f30aa5dbfd57efde333c6d98f22cf">&#9670;&nbsp;</a></span>StoreDefaults()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glCamera::StoreDefaults </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Store the current configuration as defaults. </p>

</div>
</div>

</div>
</div>
<a name="classglDisplay" id="classglDisplay"></a>
<h2 class="memtitle"><span class="permalink"><a href="#classglDisplay">&#9670;&nbsp;</a></span>glDisplay</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class glDisplay</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>OpenGL display window and image/video renderer with CUDA interoperability. </p>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a> implements the <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface and is intended to be used through that as opposed to directly. <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> implements additional command-line parsing of <a class="el" href="group__video.html#structvideoOptions" title="The videoOptions struct contains common settings that are used to configure and query videoSource and...">videoOptions</a> to construct instances.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> </dd></dl>
</div><div class="dynheader">
Inheritance diagram for glDisplay:</div>
<div class="dyncontent">
 <div class="center">
  <img src="group__OpenGL.png" usemap="#glDisplay_map" alt=""/>
  <map id="glDisplay_map" name="glDisplay_map">
<area href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w..." alt="videoOutput" shape="rect" coords="0,0,80,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr><td colspan="2"><h3>Public Member Functions</h3></td></tr>
<tr class="memitem:a3978a9f43490e6f19268ca5225679c60"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3978a9f43490e6f19268ca5225679c60">~glDisplay</a> ()</td></tr>
<tr class="memdesc:a3978a9f43490e6f19268ca5225679c60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy window.  <a href="group__OpenGL.html#a3978a9f43490e6f19268ca5225679c60">More...</a><br /></td></tr>
<tr class="separator:a3978a9f43490e6f19268ca5225679c60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65a2ec3a8dae7febff9c1e46b426c891"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a65a2ec3a8dae7febff9c1e46b426c891">Open</a> ()</td></tr>
<tr class="memdesc:a65a2ec3a8dae7febff9c1e46b426c891"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the window.  <a href="group__OpenGL.html#a65a2ec3a8dae7febff9c1e46b426c891">More...</a><br /></td></tr>
<tr class="separator:a65a2ec3a8dae7febff9c1e46b426c891"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c96e8b41901e1b0555baef0433d5794"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a7c96e8b41901e1b0555baef0433d5794">IsOpen</a> () const</td></tr>
<tr class="memdesc:a7c96e8b41901e1b0555baef0433d5794"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the window is open.  <a href="group__OpenGL.html#a7c96e8b41901e1b0555baef0433d5794">More...</a><br /></td></tr>
<tr class="separator:a7c96e8b41901e1b0555baef0433d5794"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a634ed5ff30a1d2944f3667157a649c9a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a634ed5ff30a1d2944f3667157a649c9a">IsClosed</a> () const</td></tr>
<tr class="memdesc:a634ed5ff30a1d2944f3667157a649c9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the window has been closed.  <a href="group__OpenGL.html#a634ed5ff30a1d2944f3667157a649c9a">More...</a><br /></td></tr>
<tr class="separator:a634ed5ff30a1d2944f3667157a649c9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89c660203dc7e4c95ebf1069681121b1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a89c660203dc7e4c95ebf1069681121b1">IsRendering</a> () const</td></tr>
<tr class="memdesc:a89c660203dc7e4c95ebf1069681121b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if between <a class="el" href="group__OpenGL.html#aa8abd41c4dbaca15b2d092168ee14a83" title="Clear window and begin rendering a frame.">BeginRender()</a> and <a class="el" href="group__OpenGL.html#a97612036c5849cb4d7026337f2603c87" title="Finish rendering and refresh / flip the backbuffer.">EndRender()</a>  <a href="group__OpenGL.html#a89c660203dc7e4c95ebf1069681121b1">More...</a><br /></td></tr>
<tr class="separator:a89c660203dc7e4c95ebf1069681121b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a130822b4a5eda58692c0899627790700"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a130822b4a5eda58692c0899627790700">GetFPS</a> () const</td></tr>
<tr class="memdesc:a130822b4a5eda58692c0899627790700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the average frame time (in milliseconds).  <a href="group__OpenGL.html#a130822b4a5eda58692c0899627790700">More...</a><br /></td></tr>
<tr class="separator:a130822b4a5eda58692c0899627790700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14cf9b4f8c585e52963e8f644b816cd1"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a14cf9b4f8c585e52963e8f644b816cd1">GetID</a> () const</td></tr>
<tr class="memdesc:a14cf9b4f8c585e52963e8f644b816cd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ID of this display instance into <a class="el" href="group__OpenGL.html#ga6af68c26b9f5254ee676de8b6f332ad4" title="Retrieve a display window object.">glGetDisplay()</a>  <a href="group__OpenGL.html#a14cf9b4f8c585e52963e8f644b816cd1">More...</a><br /></td></tr>
<tr class="separator:a14cf9b4f8c585e52963e8f644b816cd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dd585c39b61c2b06c4bf21b9663ef93"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a2dd585c39b61c2b06c4bf21b9663ef93">GetType</a> () const</td></tr>
<tr class="memdesc:a2dd585c39b61c2b06c4bf21b9663ef93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the interface type (<a class="el" href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131" title="Unique type identifier of glDisplay class.">glDisplay::Type</a>)  <a href="group__OpenGL.html#a2dd585c39b61c2b06c4bf21b9663ef93">More...</a><br /></td></tr>
<tr class="separator:a2dd585c39b61c2b06c4bf21b9663ef93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Frame Begin + End</div></td></tr>
<tr class="memitem:aa8abd41c4dbaca15b2d092168ee14a83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa8abd41c4dbaca15b2d092168ee14a83">BeginRender</a> (bool processEvents=true)</td></tr>
<tr class="memdesc:aa8abd41c4dbaca15b2d092168ee14a83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear window and begin rendering a frame.  <a href="group__OpenGL.html#aa8abd41c4dbaca15b2d092168ee14a83">More...</a><br /></td></tr>
<tr class="separator:aa8abd41c4dbaca15b2d092168ee14a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97612036c5849cb4d7026337f2603c87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a97612036c5849cb4d7026337f2603c87">EndRender</a> ()</td></tr>
<tr class="memdesc:a97612036c5849cb4d7026337f2603c87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finish rendering and refresh / flip the backbuffer.  <a href="group__OpenGL.html#a97612036c5849cb4d7026337f2603c87">More...</a><br /></td></tr>
<tr class="separator:a97612036c5849cb4d7026337f2603c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Image Rendering</div></td></tr>
<tr class="memitem:a528c58b4fcecd7d3d516f44de3233538"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a528c58b4fcecd7d3d516f44de3233538">Render</a> (<a class="el" href="group__OpenGL.html#classglTexture">glTexture</a> *texture, float x=5.0f, float y=30.0f)</td></tr>
<tr class="memdesc:a528c58b4fcecd7d3d516f44de3233538"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render an OpenGL texture.  <a href="group__OpenGL.html#a528c58b4fcecd7d3d516f44de3233538">More...</a><br /></td></tr>
<tr class="separator:a528c58b4fcecd7d3d516f44de3233538"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a763b4f1878de0b6c1e2d1961064d158b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a763b4f1878de0b6c1e2d1961064d158b">Render</a> (float *image, uint32_t width, uint32_t height, float x=0.0f, float y=30.0f, bool <a class="el" href="cudaMath_8h.html#ac6906e8e2670d8355f05f96d121fe451">normalize</a>=true)</td></tr>
<tr class="memdesc:a763b4f1878de0b6c1e2d1961064d158b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a CUDA float4 image using OpenGL interop If normalize is true, the image's pixel values will be rescaled from the range of [0-255] to [0-1] If normalize is false, the image's pixel values are assumed to already be in the range of [0-1] Note that if normalization is selected to be performed, it will be done in-place on the image.  <a href="group__OpenGL.html#a763b4f1878de0b6c1e2d1961064d158b">More...</a><br /></td></tr>
<tr class="separator:a763b4f1878de0b6c1e2d1961064d158b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17d12d2c47a7015917dd047734eb3e73"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a17d12d2c47a7015917dd047734eb3e73"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a17d12d2c47a7015917dd047734eb3e73">Render</a> (T *image, uint32_t width, uint32_t height)</td></tr>
<tr class="memdesc:a17d12d2c47a7015917dd047734eb3e73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop.  <a href="group__OpenGL.html#a17d12d2c47a7015917dd047734eb3e73">More...</a><br /></td></tr>
<tr class="separator:a17d12d2c47a7015917dd047734eb3e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f4e4625ea4d5c1d875dc521d38ace0d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5f4e4625ea4d5c1d875dc521d38ace0d">Render</a> (void *image, uint32_t width, uint32_t height, <a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format)</td></tr>
<tr class="memdesc:a5f4e4625ea4d5c1d875dc521d38ace0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop.  <a href="group__OpenGL.html#a5f4e4625ea4d5c1d875dc521d38ace0d">More...</a><br /></td></tr>
<tr class="separator:a5f4e4625ea4d5c1d875dc521d38ace0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5209a3268ef0abe27d00dd012594f793"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5209a3268ef0abe27d00dd012594f793">RenderImage</a> (void *image, uint32_t width, uint32_t height, <a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format, float x=0.0f, float y=30.0f, bool <a class="el" href="cudaMath_8h.html#ac6906e8e2670d8355f05f96d121fe451">normalize</a>=true)</td></tr>
<tr class="memdesc:a5209a3268ef0abe27d00dd012594f793"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop.  <a href="group__OpenGL.html#a5209a3268ef0abe27d00dd012594f793">More...</a><br /></td></tr>
<tr class="separator:a5209a3268ef0abe27d00dd012594f793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a117190eeed8ed905cb9330552edd9625"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a117190eeed8ed905cb9330552edd9625">RenderOnce</a> (void *image, uint32_t width, uint32_t height, <a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format, float x=5.0f, float y=30.0f, bool <a class="el" href="cudaMath_8h.html#ac6906e8e2670d8355f05f96d121fe451">normalize</a>=true)</td></tr>
<tr class="memdesc:a117190eeed8ed905cb9330552edd9625"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin the frame, render one CUDA image using OpenGL interop, and end the frame.  <a href="group__OpenGL.html#a117190eeed8ed905cb9330552edd9625">More...</a><br /></td></tr>
<tr class="separator:a117190eeed8ed905cb9330552edd9625"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616a3220a6575d31bad5de69eca71e0f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a616a3220a6575d31bad5de69eca71e0f">RenderOnce</a> (float *image, uint32_t width, uint32_t height, float x=5.0f, float y=30.0f, bool <a class="el" href="cudaMath_8h.html#ac6906e8e2670d8355f05f96d121fe451">normalize</a>=true)</td></tr>
<tr class="memdesc:a616a3220a6575d31bad5de69eca71e0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin the frame, render one CUDA float4 image using OpenGL interop, and end the frame.  <a href="group__OpenGL.html#a616a3220a6575d31bad5de69eca71e0f">More...</a><br /></td></tr>
<tr class="separator:a616a3220a6575d31bad5de69eca71e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Vector Rendering</div></td></tr>
<tr class="memitem:a13db65eada3b098f3e301fee10de9917"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a13db65eada3b098f3e301fee10de9917">RenderLine</a> (float x1, float y1, float x2, float y2, float r, float g, float b, float a=1.0f, float thickness=2.0f)</td></tr>
<tr class="memdesc:a13db65eada3b098f3e301fee10de9917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a line in screen coordinates with the specified color.  <a href="group__OpenGL.html#a13db65eada3b098f3e301fee10de9917">More...</a><br /></td></tr>
<tr class="separator:a13db65eada3b098f3e301fee10de9917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58a8c3a68b96d5e52484354634ffec3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a58a8c3a68b96d5e52484354634ffec3b">RenderOutline</a> (float x, float y, float width, float height, float r, float g, float b, float a=1.0f, float thickness=2.0f)</td></tr>
<tr class="memdesc:a58a8c3a68b96d5e52484354634ffec3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render the outline of a rect in screen coordinates with the specified color.  <a href="group__OpenGL.html#a58a8c3a68b96d5e52484354634ffec3b">More...</a><br /></td></tr>
<tr class="separator:a58a8c3a68b96d5e52484354634ffec3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac390303fad04b7ffac04f208f48ea536"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac390303fad04b7ffac04f208f48ea536">RenderRect</a> (float x, float y, float width, float height, float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:ac390303fad04b7ffac04f208f48ea536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a filled rect in screen coordinates with the specified color.  <a href="group__OpenGL.html#ac390303fad04b7ffac04f208f48ea536">More...</a><br /></td></tr>
<tr class="separator:ac390303fad04b7ffac04f208f48ea536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9621c6abd6509bf14feb104684477861"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a9621c6abd6509bf14feb104684477861">RenderRect</a> (float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:a9621c6abd6509bf14feb104684477861"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a filled rect covering the current viewport with the specified color.  <a href="group__OpenGL.html#a9621c6abd6509bf14feb104684477861">More...</a><br /></td></tr>
<tr class="separator:a9621c6abd6509bf14feb104684477861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Window Resizing</div></td></tr>
<tr class="memitem:a52516d4523e536c9ed2e40113ee3856e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a52516d4523e536c9ed2e40113ee3856e">SetSize</a> (uint32_t width, uint32_t height)</td></tr>
<tr class="memdesc:a52516d4523e536c9ed2e40113ee3856e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the window's size.  <a href="group__OpenGL.html#a52516d4523e536c9ed2e40113ee3856e">More...</a><br /></td></tr>
<tr class="separator:a52516d4523e536c9ed2e40113ee3856e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8149384dbd4a389281d1420608e8418"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa8149384dbd4a389281d1420608e8418">SetMaximized</a> (bool maximized)</td></tr>
<tr class="memdesc:aa8149384dbd4a389281d1420608e8418"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximize or un-maximize the window.  <a href="group__OpenGL.html#aa8149384dbd4a389281d1420608e8418">More...</a><br /></td></tr>
<tr class="separator:aa8149384dbd4a389281d1420608e8418"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bfec8d5ad04e8737a3ef7cfb13bc06f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3bfec8d5ad04e8737a3ef7cfb13bc06f">IsMaximized</a> ()</td></tr>
<tr class="memdesc:a3bfec8d5ad04e8737a3ef7cfb13bc06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if the window is maximized or not.  <a href="group__OpenGL.html#a3bfec8d5ad04e8737a3ef7cfb13bc06f">More...</a><br /></td></tr>
<tr class="separator:a3bfec8d5ad04e8737a3ef7cfb13bc06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae48ceb52e06b5d111777c5a92e3380db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ae48ceb52e06b5d111777c5a92e3380db">SetFullscreen</a> (bool fullscreen)</td></tr>
<tr class="memdesc:ae48ceb52e06b5d111777c5a92e3380db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the window to fullscreen mode or not.  <a href="group__OpenGL.html#ae48ceb52e06b5d111777c5a92e3380db">More...</a><br /></td></tr>
<tr class="separator:ae48ceb52e06b5d111777c5a92e3380db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90e336dd87d340d9fcf592f297fcf3b9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a90e336dd87d340d9fcf592f297fcf3b9">IsFullscreen</a> ()</td></tr>
<tr class="memdesc:a90e336dd87d340d9fcf592f297fcf3b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if the window is fullscreen or not.  <a href="group__OpenGL.html#a90e336dd87d340d9fcf592f297fcf3b9">More...</a><br /></td></tr>
<tr class="separator:a90e336dd87d340d9fcf592f297fcf3b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Viewport Options</div></td></tr>
<tr class="memitem:a5e115cfde574e1b517a6422b1c3fbf02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5e115cfde574e1b517a6422b1c3fbf02">GetBackgroundColor</a> (float *r, float *g, float *b, float *a=NULL)</td></tr>
<tr class="memdesc:a5e115cfde574e1b517a6422b1c3fbf02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the window's background color.  <a href="group__OpenGL.html#a5e115cfde574e1b517a6422b1c3fbf02">More...</a><br /></td></tr>
<tr class="separator:a5e115cfde574e1b517a6422b1c3fbf02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1494b4f48cc98493ff9d38537df076e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a1494b4f48cc98493ff9d38537df076e7">SetBackgroundColor</a> (float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:a1494b4f48cc98493ff9d38537df076e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the window's background color.  <a href="group__OpenGL.html#a1494b4f48cc98493ff9d38537df076e7">More...</a><br /></td></tr>
<tr class="separator:a1494b4f48cc98493ff9d38537df076e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61179bfa1ba61d66ff243273c71bf5a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a61179bfa1ba61d66ff243273c71bf5a3">SetViewport</a> (int left, int top, int right, int bottom)</td></tr>
<tr class="memdesc:a61179bfa1ba61d66ff243273c71bf5a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the active viewport being rendered to.  <a href="group__OpenGL.html#a61179bfa1ba61d66ff243273c71bf5a3">More...</a><br /></td></tr>
<tr class="separator:a61179bfa1ba61d66ff243273c71bf5a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23dd7a9f481c772766f049d8056a8dad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a23dd7a9f481c772766f049d8056a8dad">ResetViewport</a> ()</td></tr>
<tr class="memdesc:a23dd7a9f481c772766f049d8056a8dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset to the full viewport (and change back GL_PROJECTION)  <a href="group__OpenGL.html#a23dd7a9f481c772766f049d8056a8dad">More...</a><br /></td></tr>
<tr class="separator:a23dd7a9f481c772766f049d8056a8dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Event Handling</div></td></tr>
<tr class="memitem:a27bf4053fddbb4e0fdc88e142b2a7bb7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7">ProcessEvents</a> ()</td></tr>
<tr class="memdesc:a27bf4053fddbb4e0fdc88e142b2a7bb7"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__threads.html#classProcess" title="Static functions for retrieving information about the running process.">Process</a> UI event messages.  <a href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7">More...</a><br /></td></tr>
<tr class="separator:a27bf4053fddbb4e0fdc88e142b2a7bb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84607fffba7eb6a8dc4cd71981aefb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ab84607fffba7eb6a8dc4cd71981aefb6">AddEventHandler</a> (<a class="el" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a> callback, void *user=NULL)</td></tr>
<tr class="memdesc:ab84607fffba7eb6a8dc4cd71981aefb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register an event message handler that will be called by <a class="el" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7" title="Process UI event messages.">ProcessEvents()</a>  <a href="group__OpenGL.html#ab84607fffba7eb6a8dc4cd71981aefb6">More...</a><br /></td></tr>
<tr class="separator:ab84607fffba7eb6a8dc4cd71981aefb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1c19aa18e413da822f284c500a2af6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa1c19aa18e413da822f284c500a2af6f">RemoveEventHandler</a> (<a class="el" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a> callback, void *user=NULL)</td></tr>
<tr class="memdesc:aa1c19aa18e413da822f284c500a2af6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an event message handler from being called by <a class="el" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7" title="Process UI event messages.">ProcessEvents()</a> <a class="el" href="group__OpenGL.html#aa1c19aa18e413da822f284c500a2af6f" title="Remove an event message handler from being called by ProcessEvents() RemoveEventHandler() will search...">RemoveEventHandler()</a> will search for previously registered event handlers that have the same function pointer and/or user pointer, and remove them for being called again in the future.  <a href="group__OpenGL.html#aa1c19aa18e413da822f284c500a2af6f">More...</a><br /></td></tr>
<tr class="separator:aa1c19aa18e413da822f284c500a2af6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Mouse + Keyboard State</div></td></tr>
<tr class="memitem:a84eb9bf5d9f74d79fe8ba412081a8998"><td class="memItemLeft" align="right" valign="top">const int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a84eb9bf5d9f74d79fe8ba412081a8998">GetMousePosition</a> () const</td></tr>
<tr class="memdesc:a84eb9bf5d9f74d79fe8ba412081a8998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the mouse position.  <a href="group__OpenGL.html#a84eb9bf5d9f74d79fe8ba412081a8998">More...</a><br /></td></tr>
<tr class="separator:a84eb9bf5d9f74d79fe8ba412081a8998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57d3f8b1bec6eba7925e187367adab47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a57d3f8b1bec6eba7925e187367adab47">GetMousePosition</a> (int *x, int *y) const</td></tr>
<tr class="memdesc:a57d3f8b1bec6eba7925e187367adab47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the mouse position.  <a href="group__OpenGL.html#a57d3f8b1bec6eba7925e187367adab47">More...</a><br /></td></tr>
<tr class="separator:a57d3f8b1bec6eba7925e187367adab47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a611350bedb3e68adfd0e691f3612fc89"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a611350bedb3e68adfd0e691f3612fc89">GetMouseButton</a> (uint32_t button) const</td></tr>
<tr class="memdesc:a611350bedb3e68adfd0e691f3612fc89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the mouse button state.  <a href="group__OpenGL.html#a611350bedb3e68adfd0e691f3612fc89">More...</a><br /></td></tr>
<tr class="separator:a611350bedb3e68adfd0e691f3612fc89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11c7c3c210333feb222d6f2480dbbc85"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a11c7c3c210333feb222d6f2480dbbc85">GetKey</a> (uint32_t key) const</td></tr>
<tr class="memdesc:a11c7c3c210333feb222d6f2480dbbc85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the state of a key (lowercase, without modifiers applied)  <a href="group__OpenGL.html#a11c7c3c210333feb222d6f2480dbbc85">More...</a><br /></td></tr>
<tr class="separator:a11c7c3c210333feb222d6f2480dbbc85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Mouse Cursor</div></td></tr>
<tr class="memitem:a93f2524dad00aad905af487e6e30c5e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a93f2524dad00aad905af487e6e30c5e3">SetCursor</a> (uint32_t cursor)</td></tr>
<tr class="memdesc:a93f2524dad00aad905af487e6e30c5e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the active mouse cursor.  <a href="group__OpenGL.html#a93f2524dad00aad905af487e6e30c5e3">More...</a><br /></td></tr>
<tr class="separator:a93f2524dad00aad905af487e6e30c5e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ebb8bd67bd55d9a1a24189ba46d09ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab">SetDefaultCursor</a> (uint32_t cursor, bool activate=true)</td></tr>
<tr class="memdesc:a8ebb8bd67bd55d9a1a24189ba46d09ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default mouse cursor that gets used by <a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a>  <a href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab">More...</a><br /></td></tr>
<tr class="separator:a8ebb8bd67bd55d9a1a24189ba46d09ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c92bc0159c94b720a5bdd06cefcd69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69">ResetCursor</a> ()</td></tr>
<tr class="memdesc:a55c92bc0159c94b720a5bdd06cefcd69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the mouse cursor back to it's default.  <a href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69">More...</a><br /></td></tr>
<tr class="separator:a55c92bc0159c94b720a5bdd06cefcd69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a617f568a9a94622e9c687540e36ea064"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a617f568a9a94622e9c687540e36ea064">ResetDefaultCursor</a> (bool activate=true)</td></tr>
<tr class="memdesc:a617f568a9a94622e9c687540e36ea064"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the default cursor back to it's original, the arrow.  <a href="group__OpenGL.html#a617f568a9a94622e9c687540e36ea064">More...</a><br /></td></tr>
<tr class="separator:a617f568a9a94622e9c687540e36ea064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Widgets</div></td></tr>
<tr class="memitem:a50563f4387bcc0d66a61bf29cfa521a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a50563f4387bcc0d66a61bf29cfa521a9">AddWidget</a> (<a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *widget)</td></tr>
<tr class="memdesc:a50563f4387bcc0d66a61bf29cfa521a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a widget to the window that recieves events and is rendered.  <a href="group__OpenGL.html#a50563f4387bcc0d66a61bf29cfa521a9">More...</a><br /></td></tr>
<tr class="separator:a50563f4387bcc0d66a61bf29cfa521a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6de44eb3a03c6053ee61cb5cccce3f28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a6de44eb3a03c6053ee61cb5cccce3f28">RemoveWidget</a> (<a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *widget, bool deleteWidget=true)</td></tr>
<tr class="memdesc:a6de44eb3a03c6053ee61cb5cccce3f28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a widget from the window (and optionally delete it)  <a href="group__OpenGL.html#a6de44eb3a03c6053ee61cb5cccce3f28">More...</a><br /></td></tr>
<tr class="separator:a6de44eb3a03c6053ee61cb5cccce3f28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad50e13424000eaf6f5ecb08e4acbfeb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ad50e13424000eaf6f5ecb08e4acbfeb8">RemoveWidget</a> (uint32_t index, bool deleteWidget=true)</td></tr>
<tr class="memdesc:ad50e13424000eaf6f5ecb08e4acbfeb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a widget from the window (and optionally delete it)  <a href="group__OpenGL.html#ad50e13424000eaf6f5ecb08e4acbfeb8">More...</a><br /></td></tr>
<tr class="separator:ad50e13424000eaf6f5ecb08e4acbfeb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e209d2b90b11c2948a0cd98c19624e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5e209d2b90b11c2948a0cd98c19624e7">RemoveAllWidgets</a> (bool deleteWidgets=true)</td></tr>
<tr class="memdesc:a5e209d2b90b11c2948a0cd98c19624e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all widgets from the window (and optionally delete them)  <a href="group__OpenGL.html#a5e209d2b90b11c2948a0cd98c19624e7">More...</a><br /></td></tr>
<tr class="separator:a5e209d2b90b11c2948a0cd98c19624e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80669db30cd225b4f6d0b8ab59237a97"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a80669db30cd225b4f6d0b8ab59237a97">GetNumWidgets</a> () const</td></tr>
<tr class="memdesc:a80669db30cd225b4f6d0b8ab59237a97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the number of widgets.  <a href="group__OpenGL.html#a80669db30cd225b4f6d0b8ab59237a97">More...</a><br /></td></tr>
<tr class="separator:a80669db30cd225b4f6d0b8ab59237a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab03fa54f8098a9db65bbdc1f00622ab0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ab03fa54f8098a9db65bbdc1f00622ab0">GetWidget</a> (const uint32_t index) const</td></tr>
<tr class="memdesc:ab03fa54f8098a9db65bbdc1f00622ab0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a widget.  <a href="group__OpenGL.html#ab03fa54f8098a9db65bbdc1f00622ab0">More...</a><br /></td></tr>
<tr class="separator:ab03fa54f8098a9db65bbdc1f00622ab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d13a48ff0860c5da554443a27413ad9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a2d13a48ff0860c5da554443a27413ad9">GetWidgetIndex</a> (const <a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *widget) const</td></tr>
<tr class="memdesc:a2d13a48ff0860c5da554443a27413ad9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the index of a widget (or -1 if not found)  <a href="group__OpenGL.html#a2d13a48ff0860c5da554443a27413ad9">More...</a><br /></td></tr>
<tr class="separator:a2d13a48ff0860c5da554443a27413ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d0985706dcaac9919dd75c858466546"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a9d0985706dcaac9919dd75c858466546">FindWidget</a> (int x, int y)</td></tr>
<tr class="memdesc:a9d0985706dcaac9919dd75c858466546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find first widget by coordinate, or NULL if no widget overlaps with that coordinate.  <a href="group__OpenGL.html#a9d0985706dcaac9919dd75c858466546">More...</a><br /></td></tr>
<tr class="separator:a9d0985706dcaac9919dd75c858466546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2cdebdf11ee3087900592d651bcceb"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5a2cdebdf11ee3087900592d651bcceb">FindWidgets</a> (int x, int y)</td></tr>
<tr class="memdesc:a5a2cdebdf11ee3087900592d651bcceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find all widgets by coordinate, or NULL if no widget overlaps with that coordinate.  <a href="group__OpenGL.html#a5a2cdebdf11ee3087900592d651bcceb">More...</a><br /></td></tr>
<tr class="separator:a5a2cdebdf11ee3087900592d651bcceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_group__video"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_group__video')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="group__video.html#classvideoOutput">videoOutput</a></td></tr>
<tr class="memitem:a2186412156484860e31d827c10becf96 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a2186412156484860e31d827c10becf96">~videoOutput</a> ()</td></tr>
<tr class="memdesc:a2186412156484860e31d827c10becf96 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy interface and release all resources.  <a href="group__video.html#a2186412156484860e31d827c10becf96">More...</a><br /></td></tr>
<tr class="separator:a2186412156484860e31d827c10becf96 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac63d627d52174400c01c28bb0de82993 inherit pub_methods_group__video"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac63d627d52174400c01c28bb0de82993 inherit pub_methods_group__video"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__video.html#ac63d627d52174400c01c28bb0de82993">Render</a> (T *image, uint32_t width, uint32_t height)</td></tr>
<tr class="memdesc:ac63d627d52174400c01c28bb0de82993 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render and output the next frame to the stream.  <a href="group__video.html#ac63d627d52174400c01c28bb0de82993">More...</a><br /></td></tr>
<tr class="separator:ac63d627d52174400c01c28bb0de82993 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a552252a397249335e77755e0b911225e inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a552252a397249335e77755e0b911225e">Close</a> ()</td></tr>
<tr class="memdesc:a552252a397249335e77755e0b911225e inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop streaming the device.  <a href="group__video.html#a552252a397249335e77755e0b911225e">More...</a><br /></td></tr>
<tr class="separator:a552252a397249335e77755e0b911225e inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a3cf8d6230e26e27c5d22b29a150bdc inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a2a3cf8d6230e26e27c5d22b29a150bdc">IsStreaming</a> () const</td></tr>
<tr class="memdesc:a2a3cf8d6230e26e27c5d22b29a150bdc inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the device is actively streaming or not.  <a href="group__video.html#a2a3cf8d6230e26e27c5d22b29a150bdc">More...</a><br /></td></tr>
<tr class="separator:a2a3cf8d6230e26e27c5d22b29a150bdc inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaba8521f7ff078293ee4052a28ee71c inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#afaba8521f7ff078293ee4052a28ee71c">GetWidth</a> () const</td></tr>
<tr class="memdesc:afaba8521f7ff078293ee4052a28ee71c inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the width of the stream, in pixels.  <a href="group__video.html#afaba8521f7ff078293ee4052a28ee71c">More...</a><br /></td></tr>
<tr class="separator:afaba8521f7ff078293ee4052a28ee71c inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa225fb199069cf2a4b30f467e237da73 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#aa225fb199069cf2a4b30f467e237da73">GetHeight</a> () const</td></tr>
<tr class="memdesc:aa225fb199069cf2a4b30f467e237da73 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the height of the stream, in pixels.  <a href="group__video.html#aa225fb199069cf2a4b30f467e237da73">More...</a><br /></td></tr>
<tr class="separator:aa225fb199069cf2a4b30f467e237da73 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26c37f79e965f1b9741b4d9b3923bd6b inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a26c37f79e965f1b9741b4d9b3923bd6b">GetFrameRate</a> () const</td></tr>
<tr class="memdesc:a26c37f79e965f1b9741b4d9b3923bd6b inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the framerate, in Hz or FPS.  <a href="group__video.html#a26c37f79e965f1b9741b4d9b3923bd6b">More...</a><br /></td></tr>
<tr class="separator:a26c37f79e965f1b9741b4d9b3923bd6b inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab38d8fb1ad7855cf428d9f8cf5806bb4 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#ab38d8fb1ad7855cf428d9f8cf5806bb4">GetFrameCount</a> () const</td></tr>
<tr class="memdesc:ab38d8fb1ad7855cf428d9f8cf5806bb4 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of frames output.  <a href="group__video.html#ab38d8fb1ad7855cf428d9f8cf5806bb4">More...</a><br /></td></tr>
<tr class="separator:ab38d8fb1ad7855cf428d9f8cf5806bb4 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47edea2ad237e50cfbd6d0a192280ee5 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__video.html#structURI">URI</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a47edea2ad237e50cfbd6d0a192280ee5">GetResource</a> () const</td></tr>
<tr class="memdesc:a47edea2ad237e50cfbd6d0a192280ee5 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the resource <a class="el" href="group__video.html#structURI" title="Resource URI of a video device, IP stream, or file/directory.">URI</a> of the stream.  <a href="group__video.html#a47edea2ad237e50cfbd6d0a192280ee5">More...</a><br /></td></tr>
<tr class="separator:a47edea2ad237e50cfbd6d0a192280ee5 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59f21f27a0efe56541fbe15f1d5f46ce inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a59f21f27a0efe56541fbe15f1d5f46ce">GetOptions</a> () const</td></tr>
<tr class="memdesc:a59f21f27a0efe56541fbe15f1d5f46ce inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <a class="el" href="group__video.html#structvideoOptions" title="The videoOptions struct contains common settings that are used to configure and query videoSource and...">videoOptions</a> of the stream.  <a href="group__video.html#a59f21f27a0efe56541fbe15f1d5f46ce">More...</a><br /></td></tr>
<tr class="separator:a59f21f27a0efe56541fbe15f1d5f46ce inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2da4bab42fbd19a851e205647443ea5 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#ad2da4bab42fbd19a851e205647443ea5">AddOutput</a> (<a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *output)</td></tr>
<tr class="memdesc:ad2da4bab42fbd19a851e205647443ea5 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an output sub-stream.  <a href="group__video.html#ad2da4bab42fbd19a851e205647443ea5">More...</a><br /></td></tr>
<tr class="separator:ad2da4bab42fbd19a851e205647443ea5 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc630f31a8d55dc852ac1e01c1f7dc58 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#adc630f31a8d55dc852ac1e01c1f7dc58">GetNumOutputs</a> () const</td></tr>
<tr class="memdesc:adc630f31a8d55dc852ac1e01c1f7dc58 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of sub-streams.  <a href="group__video.html#adc630f31a8d55dc852ac1e01c1f7dc58">More...</a><br /></td></tr>
<tr class="separator:adc630f31a8d55dc852ac1e01c1f7dc58 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a64933421c48f1af63ea12a8217421 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#aa1a64933421c48f1af63ea12a8217421">GetOutput</a> (uint32_t index) const</td></tr>
<tr class="memdesc:aa1a64933421c48f1af63ea12a8217421 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a sub-stream.  <a href="group__video.html#aa1a64933421c48f1af63ea12a8217421">More...</a><br /></td></tr>
<tr class="separator:aa1a64933421c48f1af63ea12a8217421 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a3ed32e27da1e996dc21c0339dc5a95 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a0a3ed32e27da1e996dc21c0339dc5a95">IsType</a> (uint32_t type) const</td></tr>
<tr class="memdesc:a0a3ed32e27da1e996dc21c0339dc5a95 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if this stream is of a particular type.  <a href="group__video.html#a0a3ed32e27da1e996dc21c0339dc5a95">More...</a><br /></td></tr>
<tr class="separator:a0a3ed32e27da1e996dc21c0339dc5a95 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5463fc78e3d259fa18ea2e6349e21c8 inherit pub_methods_group__video"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa5463fc78e3d259fa18ea2e6349e21c8 inherit pub_methods_group__video"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__video.html#aa5463fc78e3d259fa18ea2e6349e21c8">IsType</a> () const</td></tr>
<tr class="memdesc:aa5463fc78e3d259fa18ea2e6349e21c8 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a this stream is of a particular type.  <a href="group__video.html#aa5463fc78e3d259fa18ea2e6349e21c8">More...</a><br /></td></tr>
<tr class="separator:aa5463fc78e3d259fa18ea2e6349e21c8 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a6c66bde88abdfa857bc9715acb8314 inherit pub_methods_group__video"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a5a6c66bde88abdfa857bc9715acb8314">TypeToStr</a> () const</td></tr>
<tr class="memdesc:a5a6c66bde88abdfa857bc9715acb8314 inherit pub_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert this stream's class type to string.  <a href="group__video.html#a5a6c66bde88abdfa857bc9715acb8314">More...</a><br /></td></tr>
<tr class="separator:a5a6c66bde88abdfa857bc9715acb8314 inherit pub_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Static Public Member Functions</h3></td></tr>
<tr class="memitem:a37ade3534f9a2eae6f77170310d1e9f0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a37ade3534f9a2eae6f77170310d1e9f0">Create</a> (const char *title=NULL, int width=-1, int height=-1, float r=0.05f, float g=0.05f, float b=0.05f, float a=1.0f)</td></tr>
<tr class="memdesc:a37ade3534f9a2eae6f77170310d1e9f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new OpenGL display window with the specified options.  <a href="group__OpenGL.html#a37ade3534f9a2eae6f77170310d1e9f0">More...</a><br /></td></tr>
<tr class="separator:a37ade3534f9a2eae6f77170310d1e9f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af32cdc5fd1d374f9c4a7a877c4d1d9e7"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#af32cdc5fd1d374f9c4a7a877c4d1d9e7">Create</a> (const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;options)</td></tr>
<tr class="memdesc:af32cdc5fd1d374f9c4a7a877c4d1d9e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new OpenGL display window with the specified options.  <a href="group__OpenGL.html#af32cdc5fd1d374f9c4a7a877c4d1d9e7">More...</a><br /></td></tr>
<tr class="separator:af32cdc5fd1d374f9c4a7a877c4d1d9e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_group__video"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_group__video')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="group__video.html#classvideoOutput">videoOutput</a></td></tr>
<tr class="memitem:aa2754b5d31e5466ad35db3f2832209f1 inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#aa2754b5d31e5466ad35db3f2832209f1">Create</a> (const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;options)</td></tr>
<tr class="memdesc:aa2754b5d31e5466ad35db3f2832209f1 inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface from a <a class="el" href="group__video.html#structvideoOptions" title="The videoOptions struct contains common settings that are used to configure and query videoSource and...">videoOptions</a> struct that's already been filled out.  <a href="group__video.html#aa2754b5d31e5466ad35db3f2832209f1">More...</a><br /></td></tr>
<tr class="separator:aa2754b5d31e5466ad35db3f2832209f1 inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a461077573ce4c48ef632956251b64c0a inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a461077573ce4c48ef632956251b64c0a">Create</a> (const char *<a class="el" href="group__video.html#structURI">URI</a>, const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;options=<a class="el" href="group__video.html#structvideoOptions">videoOptions</a>())</td></tr>
<tr class="memdesc:a461077573ce4c48ef632956251b64c0a inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface from a resource <a class="el" href="group__video.html#structURI" title="Resource URI of a video device, IP stream, or file/directory.">URI</a> string and optional <a class="el" href="group__video.html#structvideoOptions" title="The videoOptions struct contains common settings that are used to configure and query videoSource and...">videoOptions</a>.  <a href="group__video.html#a461077573ce4c48ef632956251b64c0a">More...</a><br /></td></tr>
<tr class="separator:a461077573ce4c48ef632956251b64c0a inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc89d40f9294ffbd096aa2e9bcc9a4fb inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#acc89d40f9294ffbd096aa2e9bcc9a4fb">Create</a> (const char *<a class="el" href="group__video.html#structURI">URI</a>, const <a class="el" href="group__commandLine.html#classcommandLine">commandLine</a> &amp;cmdLine)</td></tr>
<tr class="memdesc:acc89d40f9294ffbd096aa2e9bcc9a4fb inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface from a resource <a class="el" href="group__video.html#structURI" title="Resource URI of a video device, IP stream, or file/directory.">URI</a> string and parsing command line arguments.  <a href="group__video.html#acc89d40f9294ffbd096aa2e9bcc9a4fb">More...</a><br /></td></tr>
<tr class="separator:acc89d40f9294ffbd096aa2e9bcc9a4fb inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a343fb7daf02469fa5d5e604b638b81ff inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a343fb7daf02469fa5d5e604b638b81ff">Create</a> (const char *<a class="el" href="group__video.html#structURI">URI</a>, const int argc, char **argv)</td></tr>
<tr class="memdesc:a343fb7daf02469fa5d5e604b638b81ff inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface from a resource <a class="el" href="group__video.html#structURI" title="Resource URI of a video device, IP stream, or file/directory.">URI</a> string and parsing command line arguments.  <a href="group__video.html#a343fb7daf02469fa5d5e604b638b81ff">More...</a><br /></td></tr>
<tr class="separator:a343fb7daf02469fa5d5e604b638b81ff inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a346028a278dd67f6b1d69a69cd496e inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a7a346028a278dd67f6b1d69a69cd496e">Create</a> (const int argc, char **argv, int positionArg=-1)</td></tr>
<tr class="memdesc:a7a346028a278dd67f6b1d69a69cd496e inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface by parsing command line arguments, including the resource <a class="el" href="group__video.html#structURI" title="Resource URI of a video device, IP stream, or file/directory.">URI</a>.  <a href="group__video.html#a7a346028a278dd67f6b1d69a69cd496e">More...</a><br /></td></tr>
<tr class="separator:a7a346028a278dd67f6b1d69a69cd496e inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a754e0468210780b75641e08aff6604de inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a754e0468210780b75641e08aff6604de">Create</a> (const <a class="el" href="group__commandLine.html#classcommandLine">commandLine</a> &amp;cmdLine, int positionArg=-1)</td></tr>
<tr class="memdesc:a754e0468210780b75641e08aff6604de inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface by parsing command line arguments, including the resource <a class="el" href="group__video.html#structURI" title="Resource URI of a video device, IP stream, or file/directory.">URI</a>.  <a href="group__video.html#a754e0468210780b75641e08aff6604de">More...</a><br /></td></tr>
<tr class="separator:a754e0468210780b75641e08aff6604de inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0122813d68dd88f0e1d1d92fbbc7edd1 inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a0122813d68dd88f0e1d1d92fbbc7edd1">CreateNullOutput</a> ()</td></tr>
<tr class="memdesc:a0122813d68dd88f0e1d1d92fbbc7edd1 inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> interface that acts as a NULL output and does nothing with incoming frames.  <a href="group__video.html#a0122813d68dd88f0e1d1d92fbbc7edd1">More...</a><br /></td></tr>
<tr class="separator:a0122813d68dd88f0e1d1d92fbbc7edd1 inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ffc51285e0dc05addf926b5f4598b88 inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a4ffc51285e0dc05addf926b5f4598b88">Usage</a> ()</td></tr>
<tr class="memdesc:a4ffc51285e0dc05addf926b5f4598b88 inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Usage string for command line arguments to <a class="el" href="group__video.html#aa2754b5d31e5466ad35db3f2832209f1" title="Create videoOutput interface from a videoOptions struct that&#39;s already been filled out.">Create()</a>  <a href="group__video.html#a4ffc51285e0dc05addf926b5f4598b88">More...</a><br /></td></tr>
<tr class="separator:a4ffc51285e0dc05addf926b5f4598b88 inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b8d053b9564bb2ec042ef9760de23bb inherit pub_static_methods_group__video"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a1b8d053b9564bb2ec042ef9760de23bb">TypeToStr</a> (uint32_t type)</td></tr>
<tr class="memdesc:a1b8d053b9564bb2ec042ef9760de23bb inherit pub_static_methods_group__video"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a class type to a string.  <a href="group__video.html#a1b8d053b9564bb2ec042ef9760de23bb">More...</a><br /></td></tr>
<tr class="separator:a1b8d053b9564bb2ec042ef9760de23bb inherit pub_static_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Static Public Attributes</h3></td></tr>
<tr class="memitem:a13bebe88c1df15a70255134da202a131"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131">Type</a> = (1 &lt;&lt; 3)</td></tr>
<tr class="memdesc:a13bebe88c1df15a70255134da202a131"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique type identifier of <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a> class.  <a href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131">More...</a><br /></td></tr>
<tr class="separator:a13bebe88c1df15a70255134da202a131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Protected Member Functions</h3></td></tr>
<tr class="memitem:a2559c6f33ab5760f3f2efe345bf9fa97"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a2559c6f33ab5760f3f2efe345bf9fa97">glDisplay</a> (const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;options)</td></tr>
<tr class="separator:a2559c6f33ab5760f3f2efe345bf9fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d545e3ad748e899a413b1c954dc06d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a2d545e3ad748e899a413b1c954dc06d4">initWindow</a> ()</td></tr>
<tr class="separator:a2d545e3ad748e899a413b1c954dc06d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a022eebf333e5acf6df0fcf2f632a470a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a022eebf333e5acf6df0fcf2f632a470a">initGL</a> ()</td></tr>
<tr class="separator:a022eebf333e5acf6df0fcf2f632a470a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a518774deb1f2fa3e57e046b1150c7c5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#classglTexture">glTexture</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a518774deb1f2fa3e57e046b1150c7c5d">allocTexture</a> (uint32_t width, uint32_t height, <a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format)</td></tr>
<tr class="separator:a518774deb1f2fa3e57e046b1150c7c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62b17bd5fc32d79a65c4fe675ba643c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac62b17bd5fc32d79a65c4fe675ba643c">activateViewport</a> ()</td></tr>
<tr class="separator:ac62b17bd5fc32d79a65c4fe675ba643c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a003b6aa5e7a7e32eee46b2720e6f1f1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a003b6aa5e7a7e32eee46b2720e6f1f1f">dispatchEvent</a> (uint16_t msg, int a, int b)</td></tr>
<tr class="separator:a003b6aa5e7a7e32eee46b2720e6f1f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_group__video"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_group__video')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="group__video.html#classvideoOutput">videoOutput</a></td></tr>
<tr class="memitem:a02b39780efc6480ab424764dafe082ba inherit pro_methods_group__video"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a02b39780efc6480ab424764dafe082ba">videoOutput</a> (const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;options)</td></tr>
<tr class="separator:a02b39780efc6480ab424764dafe082ba inherit pro_methods_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Static Protected Member Functions</h3></td></tr>
<tr class="memitem:a0b7479b6bc4e384c66b164411333f00e"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0b7479b6bc4e384c66b164411333f00e">onEvent</a> (uint16_t msg, int a, int b, void *user)</td></tr>
<tr class="separator:a0b7479b6bc4e384c66b164411333f00e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Protected Attributes</h3></td></tr>
<tr class="memitem:ad809588391d7a2edafb0df1ea96ac35a"><td class="memItemLeft" align="right" valign="top">Display *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ad809588391d7a2edafb0df1ea96ac35a">mDisplayX</a></td></tr>
<tr class="separator:ad809588391d7a2edafb0df1ea96ac35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90154b9452e23a0665360e2008950e23"><td class="memItemLeft" align="right" valign="top">Screen *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a90154b9452e23a0665360e2008950e23">mScreenX</a></td></tr>
<tr class="separator:a90154b9452e23a0665360e2008950e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a327c40adf83a91f4fb4916bc577ae0ab"><td class="memItemLeft" align="right" valign="top">XVisualInfo *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a327c40adf83a91f4fb4916bc577ae0ab">mVisualX</a></td></tr>
<tr class="separator:a327c40adf83a91f4fb4916bc577ae0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59861c4376b388d34c57f06c9a460e97"><td class="memItemLeft" align="right" valign="top">Window&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a59861c4376b388d34c57f06c9a460e97">mWindowX</a></td></tr>
<tr class="separator:a59861c4376b388d34c57f06c9a460e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecdedd41e0d674fb614b88fd9ca9fa15"><td class="memItemLeft" align="right" valign="top">GLXContext&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aecdedd41e0d674fb614b88fd9ca9fa15">mContextGL</a></td></tr>
<tr class="separator:aecdedd41e0d674fb614b88fd9ca9fa15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05d0a6f141e5e77df7fddca438627b2b"><td class="memItemLeft" align="right" valign="top">Cursor&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a05d0a6f141e5e77df7fddca438627b2b">mCursors</a> [256]</td></tr>
<tr class="separator:a05d0a6f141e5e77df7fddca438627b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab1f8e0d4ac630ab4c9ab681c61d8419"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aab1f8e0d4ac630ab4c9ab681c61d8419">mActiveCursor</a></td></tr>
<tr class="separator:aab1f8e0d4ac630ab4c9ab681c61d8419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5eeb341bb438b349634928c6ee92813"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ae5eeb341bb438b349634928c6ee92813">mDefaultCursor</a></td></tr>
<tr class="separator:ae5eeb341bb438b349634928c6ee92813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac78bc19a9838670a017e80f56b9037df"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac78bc19a9838670a017e80f56b9037df">mInitialShow</a></td></tr>
<tr class="separator:ac78bc19a9838670a017e80f56b9037df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82d14054eb62a16e6101a57e32a050e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a82d14054eb62a16e6101a57e32a050e1">mRendering</a></td></tr>
<tr class="separator:a82d14054eb62a16e6101a57e32a050e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50e2a59369c56c0b43cb2c45ae1bdb9f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a50e2a59369c56c0b43cb2c45ae1bdb9f">mResizedToFeed</a></td></tr>
<tr class="separator:a50e2a59369c56c0b43cb2c45ae1bdb9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d20a9b3eb655b1719c3896f9af608e4"><td class="memItemLeft" align="right" valign="top">Atom&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a4d20a9b3eb655b1719c3896f9af608e4">mWindowClosedMsg</a></td></tr>
<tr class="separator:a4d20a9b3eb655b1719c3896f9af608e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa64e4b894f4084fb9c6ba1fb249658"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0fa64e4b894f4084fb9c6ba1fb249658">mDragMode</a></td></tr>
<tr class="separator:a0fa64e4b894f4084fb9c6ba1fb249658"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3af6f1d107f3deb4b18230af4e3561a8"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3af6f1d107f3deb4b18230af4e3561a8">mID</a></td></tr>
<tr class="separator:a3af6f1d107f3deb4b18230af4e3561a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a893682bb4ca0ae400c48aed020408128"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a893682bb4ca0ae400c48aed020408128">mScreenWidth</a></td></tr>
<tr class="separator:a893682bb4ca0ae400c48aed020408128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe7e2b2b85b8888b21c07e56718ef57"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#adfe7e2b2b85b8888b21c07e56718ef57">mScreenHeight</a></td></tr>
<tr class="separator:adfe7e2b2b85b8888b21c07e56718ef57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a060f50c9661124d2d8aa457dfe30d4bc"><td class="memItemLeft" align="right" valign="top">timespec&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a060f50c9661124d2d8aa457dfe30d4bc">mLastTime</a></td></tr>
<tr class="separator:a060f50c9661124d2d8aa457dfe30d4bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5696e63a87c34b0d50d1615bca5072ad"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5696e63a87c34b0d50d1615bca5072ad">mAvgTime</a></td></tr>
<tr class="separator:a5696e63a87c34b0d50d1615bca5072ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56e08dd6f4895451391ff9ce7e7b9390"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a56e08dd6f4895451391ff9ce7e7b9390">mBgColor</a> [4]</td></tr>
<tr class="separator:a56e08dd6f4895451391ff9ce7e7b9390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8aeb33cd6f58d26db77c9fce47fe746b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a8aeb33cd6f58d26db77c9fce47fe746b">mViewport</a> [4]</td></tr>
<tr class="separator:a8aeb33cd6f58d26db77c9fce47fe746b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac59e4ff11c7ccb0a6e86ddc0a164da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a4ac59e4ff11c7ccb0a6e86ddc0a164da">mMousePos</a> [2]</td></tr>
<tr class="separator:a4ac59e4ff11c7ccb0a6e86ddc0a164da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ec991e713327245bcbc0e70af66232"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a90ec991e713327245bcbc0e70af66232">mMouseDrag</a> [2]</td></tr>
<tr class="separator:a90ec991e713327245bcbc0e70af66232"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7d6851d22a0f03db3d17cf36ca6497d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa7d6851d22a0f03db3d17cf36ca6497d">mMouseDragOrigin</a> [2]</td></tr>
<tr class="separator:aa7d6851d22a0f03db3d17cf36ca6497d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7798109b583a2443473d895e62afce67"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a7798109b583a2443473d895e62afce67">mMouseButtons</a> [16]</td></tr>
<tr class="separator:a7798109b583a2443473d895e62afce67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a8ca8f41ba40ac0e3f4c7775e8ecf58"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5a8ca8f41ba40ac0e3f4c7775e8ecf58">mKeyStates</a> [1024]</td></tr>
<tr class="separator:a5a8ca8f41ba40ac0e3f4c7775e8ecf58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a927c5467f9926f769d96ab60c0d55724"><td class="memItemLeft" align="right" valign="top">float *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a927c5467f9926f769d96ab60c0d55724">mNormalizedCUDA</a></td></tr>
<tr class="separator:a927c5467f9926f769d96ab60c0d55724"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3a52573738ea17a2dd9d4263c166759"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac3a52573738ea17a2dd9d4263c166759">mNormalizedWidth</a></td></tr>
<tr class="separator:ac3a52573738ea17a2dd9d4263c166759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc8ffc67311372c24f60a8c33652f48"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aebc8ffc67311372c24f60a8c33652f48">mNormalizedHeight</a></td></tr>
<tr class="separator:aebc8ffc67311372c24f60a8c33652f48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4009a157353ae44f371fd3d5ca4bc08"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#af4009a157353ae44f371fd3d5ca4bc08">mWidgets</a></td></tr>
<tr class="separator:af4009a157353ae44f371fd3d5ca4bc08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a377aaed358a4452760e02580f89ac2ab"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="group__OpenGL.html#classglTexture">glTexture</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a377aaed358a4452760e02580f89ac2ab">mTextures</a></td></tr>
<tr class="separator:a377aaed358a4452760e02580f89ac2ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63318712adb85328a1b42fc5237ba1d4"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structglDisplay_1_1eventHandler.html">eventHandler</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a63318712adb85328a1b42fc5237ba1d4">mEventHandlers</a></td></tr>
<tr class="separator:a63318712adb85328a1b42fc5237ba1d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_group__video"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_group__video')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="group__video.html#classvideoOutput">videoOutput</a></td></tr>
<tr class="memitem:a473772043b363d7c8dc00cddb70b0aa9 inherit pro_attribs_group__video"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a473772043b363d7c8dc00cddb70b0aa9">mStreaming</a></td></tr>
<tr class="separator:a473772043b363d7c8dc00cddb70b0aa9 inherit pro_attribs_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af749bcbea4200ea33a1135f4f040879d inherit pro_attribs_group__video"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__video.html#structvideoOptions">videoOptions</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#af749bcbea4200ea33a1135f4f040879d">mOptions</a></td></tr>
<tr class="separator:af749bcbea4200ea33a1135f4f040879d inherit pro_attribs_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a583b2977fc4b9e1747f1b9199bc583ea inherit pro_attribs_group__video"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="group__video.html#classvideoOutput">videoOutput</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video.html#a583b2977fc4b9e1747f1b9199bc583ea">mOutputs</a></td></tr>
<tr class="separator:a583b2977fc4b9e1747f1b9199bc583ea inherit pro_attribs_group__video"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Static Protected Attributes</h3></td></tr>
<tr class="memitem:a987e05d68219418d2d232665d92cc1a2"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a987e05d68219418d2d232665d92cc1a2">screenIdx</a> = 0</td></tr>
<tr class="separator:a987e05d68219418d2d232665d92cc1a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Status Bar Text</h3></td></tr>
<tr class="memitem:a1fc9d28ddbc0f849aea7b80e96b09a68"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a1fc9d28ddbc0f849aea7b80e96b09a68">DEFAULT_TITLE</a></td></tr>
<tr class="memdesc:a1fc9d28ddbc0f849aea7b80e96b09a68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default title bar name.  <a href="group__OpenGL.html#a1fc9d28ddbc0f849aea7b80e96b09a68">More...</a><br /></td></tr>
<tr class="separator:a1fc9d28ddbc0f849aea7b80e96b09a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63804bbc679034342b14fe4c2c4da042"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a63804bbc679034342b14fe4c2c4da042">SetStatus</a> (const char *str)</td></tr>
<tr class="memdesc:a63804bbc679034342b14fe4c2c4da042"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the window title string.  <a href="group__OpenGL.html#a63804bbc679034342b14fe4c2c4da042">More...</a><br /></td></tr>
<tr class="separator:a63804bbc679034342b14fe4c2c4da042"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a4943779f0d036af2e49fc9d9a8aade"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a4a4943779f0d036af2e49fc9d9a8aade">SetTitle</a> (const char *str)</td></tr>
<tr class="memdesc:a4a4943779f0d036af2e49fc9d9a8aade"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the window title string.  <a href="group__OpenGL.html#a4a4943779f0d036af2e49fc9d9a8aade">More...</a><br /></td></tr>
<tr class="separator:a4a4943779f0d036af2e49fc9d9a8aade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Mouse Dragging</h3></td></tr>
<tr class="memitem:a0d39d6f011999828560d8353edadf46c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> { <a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880">DragDefault</a>, 
<a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca886b6f2e955b7c47975603e2b9077107">DragDisabled</a>, 
<a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca7c0c23139342b3550ff19b6025087575">DragSelect</a>, 
<a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca96547b2cd90fa0568fac9236a4cf9ff2">DragCreate</a>
 }</td></tr>
<tr class="memdesc:a0d39d6f011999828560d8353edadf46c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drag behavior enum.  <a href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">More...</a><br /></td></tr>
<tr class="separator:a0d39d6f011999828560d8353edadf46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2869b89190621c2fc502c0263035ca10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a2869b89190621c2fc502c0263035ca10">GetDragMode</a> () const</td></tr>
<tr class="memdesc:a2869b89190621c2fc502c0263035ca10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the dragging behavior mode.  <a href="group__OpenGL.html#a2869b89190621c2fc502c0263035ca10">More...</a><br /></td></tr>
<tr class="separator:a2869b89190621c2fc502c0263035ca10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad873a9d842442644747bdb3176efad8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aad873a9d842442644747bdb3176efad8">SetDragMode</a> (<a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> mode)</td></tr>
<tr class="memdesc:aad873a9d842442644747bdb3176efad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the dragging behavior mode.  <a href="group__OpenGL.html#aad873a9d842442644747bdb3176efad8">More...</a><br /></td></tr>
<tr class="separator:aad873a9d842442644747bdb3176efad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f26c928e592b54e91d95e3edd96575a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a6f26c928e592b54e91d95e3edd96575a">IsDragging</a> (<a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> mode=<a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880">DragDefault</a>) const</td></tr>
<tr class="memdesc:a6f26c928e592b54e91d95e3edd96575a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the mouse currently dragging in the specified mode?  <a href="group__OpenGL.html#a6f26c928e592b54e91d95e3edd96575a">More...</a><br /></td></tr>
<tr class="separator:a6f26c928e592b54e91d95e3edd96575a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a1bbe0f4e81a8a639ad1262e2e984e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a2a1bbe0f4e81a8a639ad1262e2e984e1">GetDragRect</a> (int *x, int *y, int *width, int *height)</td></tr>
<tr class="memdesc:a2a1bbe0f4e81a8a639ad1262e2e984e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current dragging rectangle, or return false if not dragging.  <a href="group__OpenGL.html#a2a1bbe0f4e81a8a639ad1262e2e984e1">More...</a><br /></td></tr>
<tr class="separator:a2a1bbe0f4e81a8a639ad1262e2e984e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a737d99f08c2b1cedcacb1f1f559bf1aa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a737d99f08c2b1cedcacb1f1f559bf1aa">GetDragCoords</a> (int *x1, int *y1, int *x2, int *y2)</td></tr>
<tr class="memdesc:a737d99f08c2b1cedcacb1f1f559bf1aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current dragging coordinates, or return false if not dragging.  <a href="group__OpenGL.html#a737d99f08c2b1cedcacb1f1f559bf1aa">More...</a><br /></td></tr>
<tr class="separator:a737d99f08c2b1cedcacb1f1f559bf1aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Member Enumeration Documentation</h4>
<a id="a0d39d6f011999828560d8353edadf46c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d39d6f011999828560d8353edadf46c">&#9670;&nbsp;</a></span>DragMode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">glDisplay::DragMode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Drag behavior enum. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#a2869b89190621c2fc502c0263035ca10" title="Get the dragging behavior mode.">GetDragMode()</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#aad873a9d842442644747bdb3176efad8" title="Set the dragging behavior mode.">SetDragMode()</a> </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880"></a>DragDefault&#160;</td><td class="fielddoc"><p>Issue MOUSE_DRAG events, but nothing else. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0d39d6f011999828560d8353edadf46ca886b6f2e955b7c47975603e2b9077107"></a>DragDisabled&#160;</td><td class="fielddoc"><p>Disable issuing all MOUSE_DRAG events. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0d39d6f011999828560d8353edadf46ca7c0c23139342b3550ff19b6025087575"></a>DragSelect&#160;</td><td class="fielddoc"><p>Select widgets from a dragging rectangle, and issue WIDGET_SELECTED events. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0d39d6f011999828560d8353edadf46ca96547b2cd90fa0568fac9236a4cf9ff2"></a>DragCreate&#160;</td><td class="fielddoc"><p>Create a new widget from a dragging rectangle, and issue WIDGET_CREATED events. </p>
</td></tr>
</table>

</div>
</div>
<h4 class="groupheader">Constructor &amp; Destructor Documentation</h4>
<a id="a3978a9f43490e6f19268ca5225679c60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3978a9f43490e6f19268ca5225679c60">&#9670;&nbsp;</a></span>~glDisplay()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">glDisplay::~glDisplay </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy window. </p>

</div>
</div>
<a id="a2559c6f33ab5760f3f2efe345bf9fa97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2559c6f33ab5760f3f2efe345bf9fa97">&#9670;&nbsp;</a></span>glDisplay()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">glDisplay::glDisplay </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h4 class="groupheader">Member Function Documentation</h4>
<a id="ac62b17bd5fc32d79a65c4fe675ba643c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac62b17bd5fc32d79a65c4fe675ba643c">&#9670;&nbsp;</a></span>activateViewport()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::activateViewport </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab84607fffba7eb6a8dc4cd71981aefb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab84607fffba7eb6a8dc4cd71981aefb6">&#9670;&nbsp;</a></span>AddEventHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::AddEventHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register an event message handler that will be called by <a class="el" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7" title="Process UI event messages.">ProcessEvents()</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callback</td><td>function pointer to the event message handler callback </td></tr>
    <tr><td class="paramname">user</td><td>optional user-specified pointer that will be passed to all invocations of this event handler (typically an object) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a50563f4387bcc0d66a61bf29cfa521a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50563f4387bcc0d66a61bf29cfa521a9">&#9670;&nbsp;</a></span>AddWidget()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a>* glDisplay::AddWidget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *&#160;</td>
          <td class="paramname"><em>widget</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a widget to the window that recieves events and is rendered. </p>

</div>
</div>
<a id="a518774deb1f2fa3e57e046b1150c7c5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a518774deb1f2fa3e57e046b1150c7c5d">&#9670;&nbsp;</a></span>allocTexture()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#classglTexture">glTexture</a>* glDisplay::allocTexture </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a>&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa8abd41c4dbaca15b2d092168ee14a83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8abd41c4dbaca15b2d092168ee14a83">&#9670;&nbsp;</a></span>BeginRender()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::BeginRender </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>processEvents</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clear window and begin rendering a frame. </p>
<p>If processEvents is true, <a class="el" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7" title="Process UI event messages.">ProcessEvents()</a> will automatically be called. </p>

</div>
</div>
<a id="a37ade3534f9a2eae6f77170310d1e9f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37ade3534f9a2eae6f77170310d1e9f0">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a>* glDisplay::Create </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>title</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em> = <code>0.05f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em> = <code>0.05f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em> = <code>0.05f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a new OpenGL display window with the specified options. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">title</td><td>window title bar string, or NULL for a default title </td></tr>
    <tr><td class="paramname">width</td><td>desired width of the window, or -1 to be maximized </td></tr>
    <tr><td class="paramname">height</td><td>desired height of the window, or -1 to be maximized </td></tr>
    <tr><td class="paramname">r</td><td>default background RGBA color, red component (0.0-1.0f) </td></tr>
    <tr><td class="paramname">g</td><td>default background RGBA color, green component (0.0-1.0f) </td></tr>
    <tr><td class="paramname">b</td><td>default background RGBA color, blue component (0.0-1.0f) </td></tr>
    <tr><td class="paramname">a</td><td>default background RGBA color, alpha component (0.0-1.0f) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af32cdc5fd1d374f9c4a7a877c4d1d9e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af32cdc5fd1d374f9c4a7a877c4d1d9e7">&#9670;&nbsp;</a></span>Create() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a>* glDisplay::Create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__video.html#structvideoOptions">videoOptions</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a new OpenGL display window with the specified options. </p>

</div>
</div>
<a id="a003b6aa5e7a7e32eee46b2720e6f1f1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a003b6aa5e7a7e32eee46b2720e6f1f1f">&#9670;&nbsp;</a></span>dispatchEvent()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::dispatchEvent </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a97612036c5849cb4d7026337f2603c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97612036c5849cb4d7026337f2603c87">&#9670;&nbsp;</a></span>EndRender()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::EndRender </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Finish rendering and refresh / flip the backbuffer. </p>

</div>
</div>
<a id="a9d0985706dcaac9919dd75c858466546"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d0985706dcaac9919dd75c858466546">&#9670;&nbsp;</a></span>FindWidget()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a>* glDisplay::FindWidget </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find first widget by coordinate, or NULL if no widget overlaps with that coordinate. </p>

</div>
</div>
<a id="a5a2cdebdf11ee3087900592d651bcceb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a2cdebdf11ee3087900592d651bcceb">&#9670;&nbsp;</a></span>FindWidgets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="group__OpenGL.html#classglWidget">glWidget</a>*&gt; glDisplay::FindWidgets </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find all widgets by coordinate, or NULL if no widget overlaps with that coordinate. </p>

</div>
</div>
<a id="a5e115cfde574e1b517a6422b1c3fbf02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e115cfde574e1b517a6422b1c3fbf02">&#9670;&nbsp;</a></span>GetBackgroundColor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::GetBackgroundColor </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>a</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve the window's background color. </p>

</div>
</div>
<a id="a737d99f08c2b1cedcacb1f1f559bf1aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a737d99f08c2b1cedcacb1f1f559bf1aa">&#9670;&nbsp;</a></span>GetDragCoords()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::GetDragCoords </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>y2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the current dragging coordinates, or return false if not dragging. </p>

</div>
</div>
<a id="a2869b89190621c2fc502c0263035ca10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2869b89190621c2fc502c0263035ca10">&#9670;&nbsp;</a></span>GetDragMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> glDisplay::GetDragMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the dragging behavior mode. </p>

</div>
</div>
<a id="a2a1bbe0f4e81a8a639ad1262e2e984e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a1bbe0f4e81a8a639ad1262e2e984e1">&#9670;&nbsp;</a></span>GetDragRect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::GetDragRect </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the current dragging rectangle, or return false if not dragging. </p>

</div>
</div>
<a id="a130822b4a5eda58692c0899627790700"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a130822b4a5eda58692c0899627790700">&#9670;&nbsp;</a></span>GetFPS()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glDisplay::GetFPS </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the average frame time (in milliseconds). </p>

</div>
</div>
<a id="a14cf9b4f8c585e52963e8f644b816cd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14cf9b4f8c585e52963e8f644b816cd1">&#9670;&nbsp;</a></span>GetID()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glDisplay::GetID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the ID of this display instance into <a class="el" href="group__OpenGL.html#ga6af68c26b9f5254ee676de8b6f332ad4" title="Retrieve a display window object.">glGetDisplay()</a> </p>

</div>
</div>
<a id="a11c7c3c210333feb222d6f2480dbbc85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11c7c3c210333feb222d6f2480dbbc85">&#9670;&nbsp;</a></span>GetKey()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::GetKey </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the state of a key (lowercase, without modifiers applied) </p>
<p>Similar to glEvent::KEY_STATE, <a class="el" href="group__OpenGL.html#a11c7c3c210333feb222d6f2480dbbc85" title="Get the state of a key (lowercase, without modifiers applied)">GetKey()</a> queries the raw key state without being translated by modifier keys such as Shift, CapsLock, NumLock, ect. Alphanumeric keys will be left as lowercase, so query lowercase keys - uppercase keys will always return false. <br  />
</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>the <code>XK_</code> key symbol (see <code>/usr/include/X11/keysymdef.h</code>) <pre class="fragment">       Uppercase keys like XK_A or XK_plus will always return false.
       Instead, query the lowercase keys such as XK_a, XK_1, ect.

       Other keys like F1-F12, shift, tab, ctrl/alt, arrow keys, 
       backspace, delete, escape, and enter can all be queried.

       GetKey() caches the first 1024 key symbols. Other keys will
       return false, but can be subscribed to through a glEventHander.
</pre></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the key is pressed, otherwise false </dd></dl>

</div>
</div>
<a id="a611350bedb3e68adfd0e691f3612fc89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a611350bedb3e68adfd0e691f3612fc89">&#9670;&nbsp;</a></span>GetMouseButton()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::GetMouseButton </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>button</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the mouse button state. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">button</td><td>the button number, starting with 1. In X11, the left mouse button is 1. Here are the mouse button numbers:</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>1 MOUSE_LEFT (left button)</li>
</ul>
<p>2 MOUSE_MIDDLE (middle button / scroll wheel button)</p><ul>
<li>3 MOUSE_RIGHT (right button)</li>
<li>4 MOUSE_WHEEL_UP (scroll wheel up)</li>
<li>5 MOUSE_WHEEL_DOWN (scroll wheel down)</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>true if the button is pressed, otherwise false </dd></dl>

</div>
</div>
<a id="a84eb9bf5d9f74d79fe8ba412081a8998"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84eb9bf5d9f74d79fe8ba412081a8998">&#9670;&nbsp;</a></span>GetMousePosition() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const int* glDisplay::GetMousePosition </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the mouse position. </p>

</div>
</div>
<a id="a57d3f8b1bec6eba7925e187367adab47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57d3f8b1bec6eba7925e187367adab47">&#9670;&nbsp;</a></span>GetMousePosition() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::GetMousePosition </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the mouse position. </p>

</div>
</div>
<a id="a80669db30cd225b4f6d0b8ab59237a97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80669db30cd225b4f6d0b8ab59237a97">&#9670;&nbsp;</a></span>GetNumWidgets()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glDisplay::GetNumWidgets </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the number of widgets. </p>

</div>
</div>
<a id="a2dd585c39b61c2b06c4bf21b9663ef93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2dd585c39b61c2b06c4bf21b9663ef93">&#9670;&nbsp;</a></span>GetType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t glDisplay::GetType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the interface type (<a class="el" href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131" title="Unique type identifier of glDisplay class.">glDisplay::Type</a>) </p>

<p>Reimplemented from <a class="el" href="group__video.html#aaedce68dfff9bd5c3e76c32468632512">videoOutput</a>.</p>

</div>
</div>
<a id="ab03fa54f8098a9db65bbdc1f00622ab0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab03fa54f8098a9db65bbdc1f00622ab0">&#9670;&nbsp;</a></span>GetWidget()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a>* glDisplay::GetWidget </td>
          <td>(</td>
          <td class="paramtype">const uint32_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve a widget. </p>

</div>
</div>
<a id="a2d13a48ff0860c5da554443a27413ad9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d13a48ff0860c5da554443a27413ad9">&#9670;&nbsp;</a></span>GetWidgetIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int glDisplay::GetWidgetIndex </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *&#160;</td>
          <td class="paramname"><em>widget</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve the index of a widget (or -1 if not found) </p>

</div>
</div>
<a id="a022eebf333e5acf6df0fcf2f632a470a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a022eebf333e5acf6df0fcf2f632a470a">&#9670;&nbsp;</a></span>initGL()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::initGL </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a2d545e3ad748e899a413b1c954dc06d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d545e3ad748e899a413b1c954dc06d4">&#9670;&nbsp;</a></span>initWindow()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::initWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a634ed5ff30a1d2944f3667157a649c9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a634ed5ff30a1d2944f3667157a649c9a">&#9670;&nbsp;</a></span>IsClosed()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::IsClosed </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the window has been closed. </p>

</div>
</div>
<a id="a6f26c928e592b54e91d95e3edd96575a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f26c928e592b54e91d95e3edd96575a">&#9670;&nbsp;</a></span>IsDragging()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::IsDragging </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a>&#160;</td>
          <td class="paramname"><em>mode</em> = <code><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880">DragDefault</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the mouse currently dragging in the specified mode? </p>

</div>
</div>
<a id="a90e336dd87d340d9fcf592f297fcf3b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90e336dd87d340d9fcf592f297fcf3b9">&#9670;&nbsp;</a></span>IsFullscreen()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::IsFullscreen </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determine if the window is fullscreen or not. </p>

</div>
</div>
<a id="a3bfec8d5ad04e8737a3ef7cfb13bc06f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bfec8d5ad04e8737a3ef7cfb13bc06f">&#9670;&nbsp;</a></span>IsMaximized()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::IsMaximized </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determine if the window is maximized or not. </p>

</div>
</div>
<a id="a7c96e8b41901e1b0555baef0433d5794"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c96e8b41901e1b0555baef0433d5794">&#9670;&nbsp;</a></span>IsOpen()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::IsOpen </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the window is open. </p>

</div>
</div>
<a id="a89c660203dc7e4c95ebf1069681121b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89c660203dc7e4c95ebf1069681121b1">&#9670;&nbsp;</a></span>IsRendering()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::IsRendering </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if between <a class="el" href="group__OpenGL.html#aa8abd41c4dbaca15b2d092168ee14a83" title="Clear window and begin rendering a frame.">BeginRender()</a> and <a class="el" href="group__OpenGL.html#a97612036c5849cb4d7026337f2603c87" title="Finish rendering and refresh / flip the backbuffer.">EndRender()</a> </p>

</div>
</div>
<a id="a0b7479b6bc4e384c66b164411333f00e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b7479b6bc4e384c66b164411333f00e">&#9670;&nbsp;</a></span>onEvent()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool glDisplay::onEvent </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a65a2ec3a8dae7febff9c1e46b426c891"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65a2ec3a8dae7febff9c1e46b426c891">&#9670;&nbsp;</a></span>Open()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool glDisplay::Open </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Open the window. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__video.html#a58d163c8d3e54f336bf2dda4a759750e" title="Begin streaming the device.">videoOutput::Open()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="group__video.html#a58d163c8d3e54f336bf2dda4a759750e">videoOutput</a>.</p>

</div>
</div>
<a id="a27bf4053fddbb4e0fdc88e142b2a7bb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27bf4053fddbb4e0fdc88e142b2a7bb7">&#9670;&nbsp;</a></span>ProcessEvents()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::ProcessEvents </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="group__threads.html#classProcess" title="Static functions for retrieving information about the running process.">Process</a> UI event messages. </p>
<p>Any queued events will be dispatched to the event message handlers that were registered with RegisterEventHandler()</p>
<p><a class="el" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7" title="Process UI event messages.">ProcessEvents()</a> usually gets called automatically by BeginFrame(), so it is not typically necessary to explicitly call it unless you passed <code>false</code> to BeginFrame() and wish to process events at another time of your choosing.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#gadad47fc5cdbc7af41eee1991038749fe" title="User interface event message types.">glEventType</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e" title="Event message handler callback for recieving UI messages from a window.">glEventHandler</a> </dd></dl>

</div>
</div>
<a id="a5e209d2b90b11c2948a0cd98c19624e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e209d2b90b11c2948a0cd98c19624e7">&#9670;&nbsp;</a></span>RemoveAllWidgets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RemoveAllWidgets </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>deleteWidgets</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove all widgets from the window (and optionally delete them) </p>

</div>
</div>
<a id="aa1c19aa18e413da822f284c500a2af6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1c19aa18e413da822f284c500a2af6f">&#9670;&nbsp;</a></span>RemoveEventHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RemoveEventHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove an event message handler from being called by <a class="el" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7" title="Process UI event messages.">ProcessEvents()</a> <a class="el" href="group__OpenGL.html#aa1c19aa18e413da822f284c500a2af6f" title="Remove an event message handler from being called by ProcessEvents() RemoveEventHandler() will search...">RemoveEventHandler()</a> will search for previously registered event handlers that have the same function pointer and/or user pointer, and remove them for being called again in the future. </p>

</div>
</div>
<a id="a6de44eb3a03c6053ee61cb5cccce3f28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6de44eb3a03c6053ee61cb5cccce3f28">&#9670;&nbsp;</a></span>RemoveWidget() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RemoveWidget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *&#160;</td>
          <td class="paramname"><em>widget</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>deleteWidget</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a widget from the window (and optionally delete it) </p>

</div>
</div>
<a id="ad50e13424000eaf6f5ecb08e4acbfeb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad50e13424000eaf6f5ecb08e4acbfeb8">&#9670;&nbsp;</a></span>RemoveWidget() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RemoveWidget </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>deleteWidget</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a widget from the window (and optionally delete it) </p>

</div>
</div>
<a id="a763b4f1878de0b6c1e2d1961064d158b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a763b4f1878de0b6c1e2d1961064d158b">&#9670;&nbsp;</a></span>Render() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::Render </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em> = <code>0.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em> = <code>30.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>normalize</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render a CUDA float4 image using OpenGL interop If normalize is true, the image's pixel values will be rescaled from the range of [0-255] to [0-1] If normalize is false, the image's pixel values are assumed to already be in the range of [0-1] Note that if normalization is selected to be performed, it will be done in-place on the image. </p>

</div>
</div>
<a id="a528c58b4fcecd7d3d516f44de3233538"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a528c58b4fcecd7d3d516f44de3233538">&#9670;&nbsp;</a></span>Render() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::Render </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#classglTexture">glTexture</a> *&#160;</td>
          <td class="paramname"><em>texture</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em> = <code>5.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em> = <code>30.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render an OpenGL texture. </p>
<dl class="section note"><dt>Note</dt><dd>for more texture rendering methods, </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#classglTexture" title="OpenGL texture with CUDA interoperability.">glTexture</a> </dd></dl>

</div>
</div>
<a id="a17d12d2c47a7015917dd047734eb3e73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17d12d2c47a7015917dd047734eb3e73">&#9670;&nbsp;</a></span>Render() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::Render </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop. </p>
<p>This is similar to <a class="el" href="group__OpenGL.html#a117190eeed8ed905cb9330552edd9625" title="Begin the frame, render one CUDA image using OpenGL interop, and end the frame.">RenderOnce()</a>, in that it will begin/end the frame also. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__video.html#ac63d627d52174400c01c28bb0de82993" title="Render and output the next frame to the stream.">videoOutput::Render</a> </dd></dl>

</div>
</div>
<a id="a5f4e4625ea4d5c1d875dc521d38ace0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f4e4625ea4d5c1d875dc521d38ace0d">&#9670;&nbsp;</a></span>Render() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool glDisplay::Render </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a>&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop. </p>
<p>This is similar to <a class="el" href="group__OpenGL.html#a117190eeed8ed905cb9330552edd9625" title="Begin the frame, render one CUDA image using OpenGL interop, and end the frame.">RenderOnce()</a>, in that it will begin/end the frame also. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__video.html#ac63d627d52174400c01c28bb0de82993" title="Render and output the next frame to the stream.">videoOutput::Render</a> </dd></dl>

<p>Reimplemented from <a class="el" href="group__video.html#a8e53017c0e49212405391f82fbac876f">videoOutput</a>.</p>

</div>
</div>
<a id="a5209a3268ef0abe27d00dd012594f793"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5209a3268ef0abe27d00dd012594f793">&#9670;&nbsp;</a></span>RenderImage()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RenderImage </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a>&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em> = <code>0.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em> = <code>30.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>normalize</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop. </p>
<p>If normalize is true, the image's pixel values will be rescaled from the range of [0-255] to [0-1] If normalize is false, the image's pixel values are assumed to already be in the range of [0-1] Note that if normalization is selected to be performed, it will be done in-place on the image </p>

</div>
</div>
<a id="a13db65eada3b098f3e301fee10de9917"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13db65eada3b098f3e301fee10de9917">&#9670;&nbsp;</a></span>RenderLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RenderLine </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>thickness</em> = <code>2.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render a line in screen coordinates with the specified color. </p>
<dl class="section note"><dt>Note</dt><dd>the RGBA color values are expected to be in the range of [0-1] </dd></dl>

</div>
</div>
<a id="a616a3220a6575d31bad5de69eca71e0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a616a3220a6575d31bad5de69eca71e0f">&#9670;&nbsp;</a></span>RenderOnce() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RenderOnce </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em> = <code>5.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em> = <code>30.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>normalize</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Begin the frame, render one CUDA float4 image using OpenGL interop, and end the frame. </p>
<p>Note that this function is only useful if you are rendering a single texture per frame. If normalize is true, the image's pixel values will be rescaled from the range of [0-255] to [0-1] If normalize is false, the image's pixel values are assumed to already be in the range of [0-1] Note that if normalization is selected to be performed, it will be done in-place on the image </p>

</div>
</div>
<a id="a117190eeed8ed905cb9330552edd9625"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a117190eeed8ed905cb9330552edd9625">&#9670;&nbsp;</a></span>RenderOnce() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RenderOnce </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a>&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em> = <code>5.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em> = <code>30.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>normalize</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Begin the frame, render one CUDA image using OpenGL interop, and end the frame. </p>
<p>Note that this function is only useful if you are rendering a single texture per frame. If normalize is true, the image's pixel values will be rescaled from the range of [0-255] to [0-1] If normalize is false, the image's pixel values are assumed to already be in the range of [0-1] Note that if normalization is selected to be performed, it will be done in-place on the image </p>

</div>
</div>
<a id="a58a8c3a68b96d5e52484354634ffec3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58a8c3a68b96d5e52484354634ffec3b">&#9670;&nbsp;</a></span>RenderOutline()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RenderOutline </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>thickness</em> = <code>2.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render the outline of a rect in screen coordinates with the specified color. </p>
<dl class="section note"><dt>Note</dt><dd>the RGBA color values are expected to be in the range of [0-1] </dd></dl>

</div>
</div>
<a id="a9621c6abd6509bf14feb104684477861"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9621c6abd6509bf14feb104684477861">&#9670;&nbsp;</a></span>RenderRect() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RenderRect </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render a filled rect covering the current viewport with the specified color. </p>
<dl class="section note"><dt>Note</dt><dd>the RGBA color values are expected to be in the range of [0-1] </dd></dl>

</div>
</div>
<a id="ac390303fad04b7ffac04f208f48ea536"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac390303fad04b7ffac04f208f48ea536">&#9670;&nbsp;</a></span>RenderRect() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::RenderRect </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render a filled rect in screen coordinates with the specified color. </p>
<dl class="section note"><dt>Note</dt><dd>the RGBA color values are expected to be in the range of [0-1] </dd></dl>

</div>
</div>
<a id="a55c92bc0159c94b720a5bdd06cefcd69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55c92bc0159c94b720a5bdd06cefcd69">&#9670;&nbsp;</a></span>ResetCursor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::ResetCursor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset the mouse cursor back to it's default. </p>
<p>The default mouse cursor is defined by <a class="el" href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab" title="Set the default mouse cursor that gets used by ResetCursor()">SetDefaultCursor()</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab" title="Set the default mouse cursor that gets used by ResetCursor()">SetDefaultCursor()</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#a93f2524dad00aad905af487e6e30c5e3" title="Set the active mouse cursor.">SetCursor()</a> </dd></dl>

</div>
</div>
<a id="a617f568a9a94622e9c687540e36ea064"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a617f568a9a94622e9c687540e36ea064">&#9670;&nbsp;</a></span>ResetDefaultCursor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::ResetDefaultCursor </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>activate</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset the default cursor back to it's original, the arrow. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">activate</td><td>if <code>true</code> (default), the active cursor will be changed to this new default cursor immediately. If <code>false</code>, the active cursor will stay the same until <a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a> gets called in the future.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab" title="Set the default mouse cursor that gets used by ResetCursor()">SetDefaultCursor()</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#a93f2524dad00aad905af487e6e30c5e3" title="Set the active mouse cursor.">SetCursor()</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a> </dd></dl>

</div>
</div>
<a id="a23dd7a9f481c772766f049d8056a8dad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23dd7a9f481c772766f049d8056a8dad">&#9670;&nbsp;</a></span>ResetViewport()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::ResetViewport </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset to the full viewport (and change back GL_PROJECTION) </p>

</div>
</div>
<a id="a1494b4f48cc98493ff9d38537df076e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1494b4f48cc98493ff9d38537df076e7">&#9670;&nbsp;</a></span>SetBackgroundColor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetBackgroundColor </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the window's background color. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">r</td><td>background RGBA color, red component (0.0-1.0f) </td></tr>
    <tr><td class="paramname">g</td><td>background RGBA color, green component (0.0-1.0f) </td></tr>
    <tr><td class="paramname">b</td><td>background RGBA color, blue component (0.0-1.0f) </td></tr>
    <tr><td class="paramname">a</td><td>background RGBA color, alpha component (0.0-1.0f) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a93f2524dad00aad905af487e6e30c5e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93f2524dad00aad905af487e6e30c5e3">&#9670;&nbsp;</a></span>SetCursor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetCursor </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>cursor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the active mouse cursor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cursor</td><td>one of the cursor ID's from <code>X11/cursorfont.h</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a> to restore the cursor back to default </dd>
<dd>
<a class="el" href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab" title="Set the default mouse cursor that gets used by ResetCursor()">SetDefaultCursor()</a> to change the default cursor </dd></dl>

</div>
</div>
<a id="a8ebb8bd67bd55d9a1a24189ba46d09ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ebb8bd67bd55d9a1a24189ba46d09ab">&#9670;&nbsp;</a></span>SetDefaultCursor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetDefaultCursor </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>cursor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>activate</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the default mouse cursor that gets used by <a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cursor</td><td>one of the cursor ID's from <code>X11/cursorfont.h</code>. This will be the default cursor that gets set when <a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a> is called.</td></tr>
    <tr><td class="paramname">activate</td><td>if <code>true</code> (default), the active cursor will be changed to this new default cursor immediately. If <code>false</code>, the active cursor will stay the same until <a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a> gets called in the future.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69" title="Reset the mouse cursor back to it&#39;s default.">ResetCursor()</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#a617f568a9a94622e9c687540e36ea064" title="Reset the default cursor back to it&#39;s original, the arrow.">ResetDefaultCursor()</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#a93f2524dad00aad905af487e6e30c5e3" title="Set the active mouse cursor.">SetCursor()</a> </dd></dl>

</div>
</div>
<a id="aad873a9d842442644747bdb3176efad8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad873a9d842442644747bdb3176efad8">&#9670;&nbsp;</a></span>SetDragMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetDragMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the dragging behavior mode. </p>

</div>
</div>
<a id="ae48ceb52e06b5d111777c5a92e3380db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae48ceb52e06b5d111777c5a92e3380db">&#9670;&nbsp;</a></span>SetFullscreen()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetFullscreen </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>fullscreen</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the window to fullscreen mode or not. </p>

</div>
</div>
<a id="aa8149384dbd4a389281d1420608e8418"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8149384dbd4a389281d1420608e8418">&#9670;&nbsp;</a></span>SetMaximized()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetMaximized </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>maximized</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximize or un-maximize the window. </p>

</div>
</div>
<a id="a52516d4523e536c9ed2e40113ee3856e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52516d4523e536c9ed2e40113ee3856e">&#9670;&nbsp;</a></span>SetSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetSize </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the window's size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">width</td><td>the desired width of the window, in pixels. </td></tr>
    <tr><td class="paramname">height</td><td>the desired height of the window, in pixels.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>modifying the window's size will reset the viewport to cover the full area of the new size of the window. </dd></dl>

</div>
</div>
<a id="a63804bbc679034342b14fe4c2c4da042"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63804bbc679034342b14fe4c2c4da042">&#9670;&nbsp;</a></span>SetStatus()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void glDisplay::SetStatus </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the window title string. </p>

<p>Reimplemented from <a class="el" href="group__video.html#a7968711adc8814a9ec4e127e7b3a8bb2">videoOutput</a>.</p>

</div>
</div>
<a id="a4a4943779f0d036af2e49fc9d9a8aade"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a4943779f0d036af2e49fc9d9a8aade">&#9670;&nbsp;</a></span>SetTitle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetTitle </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the window title string. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000015">Deprecated:</a></b></dt><dd><a class="el" href="group__OpenGL.html#a4a4943779f0d036af2e49fc9d9a8aade" title="Set the window title string.">SetTitle()</a> has been superceded by <a class="el" href="group__OpenGL.html#a63804bbc679034342b14fe4c2c4da042" title="Set the window title string.">SetStatus()</a> from <a class="el" href="group__video.html#classvideoOutput" title="The videoOutput API is for rendering and transmitting frames to video input devices such as display w...">videoOutput</a> API. <a class="el" href="group__OpenGL.html#a4a4943779f0d036af2e49fc9d9a8aade" title="Set the window title string.">SetTitle()</a> is functionally the same as <a class="el" href="group__OpenGL.html#a63804bbc679034342b14fe4c2c4da042" title="Set the window title string.">SetStatus()</a>. </dd></dl>

</div>
</div>
<a id="a61179bfa1ba61d66ff243273c71bf5a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61179bfa1ba61d66ff243273c71bf5a3">&#9670;&nbsp;</a></span>SetViewport()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glDisplay::SetViewport </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>top</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>right</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>bottom</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the active viewport being rendered to. </p>
<p><a class="el" href="group__OpenGL.html#a61179bfa1ba61d66ff243273c71bf5a3" title="Set the active viewport being rendered to.">SetViewport()</a> will update the GL_PROJECTION matrix with a new ortho matrix to reflect these changes.</p>
<p>After done rendering to this viewport, you should reset it back to it's original with <a class="el" href="group__OpenGL.html#a23dd7a9f481c772766f049d8056a8dad" title="Reset to the full viewport (and change back GL_PROJECTION)">ResetViewport()</a> </p>

</div>
</div>
<h4 class="groupheader">Member Data Documentation</h4>
<a id="a1fc9d28ddbc0f849aea7b80e96b09a68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fc9d28ddbc0f849aea7b80e96b09a68">&#9670;&nbsp;</a></span>DEFAULT_TITLE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* glDisplay::DEFAULT_TITLE</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default title bar name. </p>

</div>
</div>
<a id="aab1f8e0d4ac630ab4c9ab681c61d8419"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab1f8e0d4ac630ab4c9ab681c61d8419">&#9670;&nbsp;</a></span>mActiveCursor</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int glDisplay::mActiveCursor</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5696e63a87c34b0d50d1615bca5072ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5696e63a87c34b0d50d1615bca5072ad">&#9670;&nbsp;</a></span>mAvgTime</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glDisplay::mAvgTime</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a56e08dd6f4895451391ff9ce7e7b9390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56e08dd6f4895451391ff9ce7e7b9390">&#9670;&nbsp;</a></span>mBgColor</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glDisplay::mBgColor[4]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aecdedd41e0d674fb614b88fd9ca9fa15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecdedd41e0d674fb614b88fd9ca9fa15">&#9670;&nbsp;</a></span>mContextGL</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">GLXContext glDisplay::mContextGL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a05d0a6f141e5e77df7fddca438627b2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05d0a6f141e5e77df7fddca438627b2b">&#9670;&nbsp;</a></span>mCursors</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Cursor glDisplay::mCursors[256]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae5eeb341bb438b349634928c6ee92813"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5eeb341bb438b349634928c6ee92813">&#9670;&nbsp;</a></span>mDefaultCursor</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int glDisplay::mDefaultCursor</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad809588391d7a2edafb0df1ea96ac35a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad809588391d7a2edafb0df1ea96ac35a">&#9670;&nbsp;</a></span>mDisplayX</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Display* glDisplay::mDisplayX</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0fa64e4b894f4084fb9c6ba1fb249658"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fa64e4b894f4084fb9c6ba1fb249658">&#9670;&nbsp;</a></span>mDragMode</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> glDisplay::mDragMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a63318712adb85328a1b42fc5237ba1d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63318712adb85328a1b42fc5237ba1d4">&#9670;&nbsp;</a></span>mEventHandlers</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="structglDisplay_1_1eventHandler.html">eventHandler</a>&gt; glDisplay::mEventHandlers</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a3af6f1d107f3deb4b18230af4e3561a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3af6f1d107f3deb4b18230af4e3561a8">&#9670;&nbsp;</a></span>mID</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glDisplay::mID</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac78bc19a9838670a017e80f56b9037df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac78bc19a9838670a017e80f56b9037df">&#9670;&nbsp;</a></span>mInitialShow</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::mInitialShow</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5a8ca8f41ba40ac0e3f4c7775e8ecf58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a8ca8f41ba40ac0e3f4c7775e8ecf58">&#9670;&nbsp;</a></span>mKeyStates</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::mKeyStates[1024]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a060f50c9661124d2d8aa457dfe30d4bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a060f50c9661124d2d8aa457dfe30d4bc">&#9670;&nbsp;</a></span>mLastTime</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">timespec glDisplay::mLastTime</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a7798109b583a2443473d895e62afce67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7798109b583a2443473d895e62afce67">&#9670;&nbsp;</a></span>mMouseButtons</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::mMouseButtons[16]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a90ec991e713327245bcbc0e70af66232"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90ec991e713327245bcbc0e70af66232">&#9670;&nbsp;</a></span>mMouseDrag</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int glDisplay::mMouseDrag[2]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa7d6851d22a0f03db3d17cf36ca6497d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7d6851d22a0f03db3d17cf36ca6497d">&#9670;&nbsp;</a></span>mMouseDragOrigin</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int glDisplay::mMouseDragOrigin[2]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a4ac59e4ff11c7ccb0a6e86ddc0a164da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ac59e4ff11c7ccb0a6e86ddc0a164da">&#9670;&nbsp;</a></span>mMousePos</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int glDisplay::mMousePos[2]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a927c5467f9926f769d96ab60c0d55724"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a927c5467f9926f769d96ab60c0d55724">&#9670;&nbsp;</a></span>mNormalizedCUDA</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float* glDisplay::mNormalizedCUDA</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aebc8ffc67311372c24f60a8c33652f48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebc8ffc67311372c24f60a8c33652f48">&#9670;&nbsp;</a></span>mNormalizedHeight</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glDisplay::mNormalizedHeight</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac3a52573738ea17a2dd9d4263c166759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3a52573738ea17a2dd9d4263c166759">&#9670;&nbsp;</a></span>mNormalizedWidth</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glDisplay::mNormalizedWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a82d14054eb62a16e6101a57e32a050e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82d14054eb62a16e6101a57e32a050e1">&#9670;&nbsp;</a></span>mRendering</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::mRendering</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a50e2a59369c56c0b43cb2c45ae1bdb9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50e2a59369c56c0b43cb2c45ae1bdb9f">&#9670;&nbsp;</a></span>mResizedToFeed</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glDisplay::mResizedToFeed</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="adfe7e2b2b85b8888b21c07e56718ef57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfe7e2b2b85b8888b21c07e56718ef57">&#9670;&nbsp;</a></span>mScreenHeight</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glDisplay::mScreenHeight</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a893682bb4ca0ae400c48aed020408128"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a893682bb4ca0ae400c48aed020408128">&#9670;&nbsp;</a></span>mScreenWidth</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glDisplay::mScreenWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a90154b9452e23a0665360e2008950e23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90154b9452e23a0665360e2008950e23">&#9670;&nbsp;</a></span>mScreenX</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Screen* glDisplay::mScreenX</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a377aaed358a4452760e02580f89ac2ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a377aaed358a4452760e02580f89ac2ab">&#9670;&nbsp;</a></span>mTextures</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="group__OpenGL.html#classglTexture">glTexture</a>*&gt; glDisplay::mTextures</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a8aeb33cd6f58d26db77c9fce47fe746b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8aeb33cd6f58d26db77c9fce47fe746b">&#9670;&nbsp;</a></span>mViewport</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int glDisplay::mViewport[4]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a327c40adf83a91f4fb4916bc577ae0ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a327c40adf83a91f4fb4916bc577ae0ab">&#9670;&nbsp;</a></span>mVisualX</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">XVisualInfo* glDisplay::mVisualX</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af4009a157353ae44f371fd3d5ca4bc08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4009a157353ae44f371fd3d5ca4bc08">&#9670;&nbsp;</a></span>mWidgets</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="group__OpenGL.html#classglWidget">glWidget</a>*&gt; glDisplay::mWidgets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a4d20a9b3eb655b1719c3896f9af608e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d20a9b3eb655b1719c3896f9af608e4">&#9670;&nbsp;</a></span>mWindowClosedMsg</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Atom glDisplay::mWindowClosedMsg</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a59861c4376b388d34c57f06c9a460e97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59861c4376b388d34c57f06c9a460e97">&#9670;&nbsp;</a></span>mWindowX</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Window glDisplay::mWindowX</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a987e05d68219418d2d232665d92cc1a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a987e05d68219418d2d232665d92cc1a2">&#9670;&nbsp;</a></span>screenIdx</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const int glDisplay::screenIdx = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a13bebe88c1df15a70255134da202a131"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13bebe88c1df15a70255134da202a131">&#9670;&nbsp;</a></span>Type</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const uint32_t glDisplay::Type = (1 &lt;&lt; 3)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unique type identifier of <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a> class. </p>

</div>
</div>

</div>
</div>
<a name="classglTexture" id="classglTexture"></a>
<h2 class="memtitle"><span class="permalink"><a href="#classglTexture">&#9670;&nbsp;</a></span>glTexture</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class glTexture</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>OpenGL texture with CUDA interoperability. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Public Member Functions</h3></td></tr>
<tr class="memitem:accb8f44543b92f75a137d768194a10d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#accb8f44543b92f75a137d768194a10d2">~glTexture</a> ()</td></tr>
<tr class="memdesc:accb8f44543b92f75a137d768194a10d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the texture.  <a href="group__OpenGL.html#accb8f44543b92f75a137d768194a10d2">More...</a><br /></td></tr>
<tr class="separator:accb8f44543b92f75a137d768194a10d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a600cb151e484ef4497e50d96f9bfc2a9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a600cb151e484ef4497e50d96f9bfc2a9">Bind</a> ()</td></tr>
<tr class="memdesc:a600cb151e484ef4497e50d96f9bfc2a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate using the texture.  <a href="group__OpenGL.html#a600cb151e484ef4497e50d96f9bfc2a9">More...</a><br /></td></tr>
<tr class="separator:a600cb151e484ef4497e50d96f9bfc2a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a803c368b6a26675b4cc45b0aae47f9c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a803c368b6a26675b4cc45b0aae47f9c3">Unbind</a> ()</td></tr>
<tr class="memdesc:a803c368b6a26675b4cc45b0aae47f9c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deactivate using the texture.  <a href="group__OpenGL.html#a803c368b6a26675b4cc45b0aae47f9c3">More...</a><br /></td></tr>
<tr class="separator:a803c368b6a26675b4cc45b0aae47f9c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacbc1ed68a99930b628b41d69997227e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aacbc1ed68a99930b628b41d69997227e">Render</a> (float x, float y)</td></tr>
<tr class="memdesc:aacbc1ed68a99930b628b41d69997227e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render the texture at the specified window coordinates.  <a href="group__OpenGL.html#aacbc1ed68a99930b628b41d69997227e">More...</a><br /></td></tr>
<tr class="separator:aacbc1ed68a99930b628b41d69997227e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38103fc1ec96018601b21131db5144c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a38103fc1ec96018601b21131db5144c9">Render</a> (float x, float y, float width, float height)</td></tr>
<tr class="memdesc:a38103fc1ec96018601b21131db5144c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render the texture with the specified position and size.  <a href="group__OpenGL.html#a38103fc1ec96018601b21131db5144c9">More...</a><br /></td></tr>
<tr class="separator:a38103fc1ec96018601b21131db5144c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab449860cc3d739a6615d93f4a1764f20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ab449860cc3d739a6615d93f4a1764f20">Render</a> (const float4 &amp;rect)</td></tr>
<tr class="memdesc:ab449860cc3d739a6615d93f4a1764f20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render the texture to the specific screen rectangle.  <a href="group__OpenGL.html#ab449860cc3d739a6615d93f4a1764f20">More...</a><br /></td></tr>
<tr class="separator:ab449860cc3d739a6615d93f4a1764f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acba11f3282339fb2490c930177ec8562"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#acba11f3282339fb2490c930177ec8562">GetID</a> () const</td></tr>
<tr class="memdesc:acba11f3282339fb2490c930177ec8562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the OpenGL resource handle of the texture.  <a href="group__OpenGL.html#acba11f3282339fb2490c930177ec8562">More...</a><br /></td></tr>
<tr class="separator:acba11f3282339fb2490c930177ec8562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4e7455f84741b4bc4601bd44df95063"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ab4e7455f84741b4bc4601bd44df95063">GetWidth</a> () const</td></tr>
<tr class="memdesc:ab4e7455f84741b4bc4601bd44df95063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the width in pixels of the texture.  <a href="group__OpenGL.html#ab4e7455f84741b4bc4601bd44df95063">More...</a><br /></td></tr>
<tr class="separator:ab4e7455f84741b4bc4601bd44df95063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e83b13ce1281d90a59c0cfca7f80834"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a7e83b13ce1281d90a59c0cfca7f80834">GetHeight</a> () const</td></tr>
<tr class="memdesc:a7e83b13ce1281d90a59c0cfca7f80834"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the height in pixels of the texture.  <a href="group__OpenGL.html#a7e83b13ce1281d90a59c0cfca7f80834">More...</a><br /></td></tr>
<tr class="separator:a7e83b13ce1281d90a59c0cfca7f80834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24d1124dd9e3ee4a885037680e034d24"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a24d1124dd9e3ee4a885037680e034d24">GetFormat</a> () const</td></tr>
<tr class="memdesc:a24d1124dd9e3ee4a885037680e034d24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the texture's format (e.g.  <a href="group__OpenGL.html#a24d1124dd9e3ee4a885037680e034d24">More...</a><br /></td></tr>
<tr class="separator:a24d1124dd9e3ee4a885037680e034d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ba15763a0a187bd4e103eda1e2ab5c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a35ba15763a0a187bd4e103eda1e2ab5c">GetSize</a> () const</td></tr>
<tr class="memdesc:a35ba15763a0a187bd4e103eda1e2ab5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the size in bytes of the texture.  <a href="group__OpenGL.html#a35ba15763a0a187bd4e103eda1e2ab5c">More...</a><br /></td></tr>
<tr class="separator:a35ba15763a0a187bd4e103eda1e2ab5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988866fe886ea2f07208e691a8b9a173"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a988866fe886ea2f07208e691a8b9a173">Map</a> (uint32_t device, uint32_t flags)</td></tr>
<tr class="memdesc:a988866fe886ea2f07208e691a8b9a173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the texture for accessing from the CPU or CUDA.  <a href="group__OpenGL.html#a988866fe886ea2f07208e691a8b9a173">More...</a><br /></td></tr>
<tr class="separator:a988866fe886ea2f07208e691a8b9a173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2f21d5b0b9235bf53744ca71e258841"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa2f21d5b0b9235bf53744ca71e258841">Unmap</a> ()</td></tr>
<tr class="memdesc:aa2f21d5b0b9235bf53744ca71e258841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmap the texture from CPU/CUDA access.  <a href="group__OpenGL.html#aa2f21d5b0b9235bf53744ca71e258841">More...</a><br /></td></tr>
<tr class="separator:aa2f21d5b0b9235bf53744ca71e258841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0067ed41cdddd4371d5292586c25cecf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0067ed41cdddd4371d5292586c25cecf">Copy</a> (void *ptr, uint32_t flags)</td></tr>
<tr class="memdesc:a0067ed41cdddd4371d5292586c25cecf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy entire contents of the texture to/from CPU or CUDA memory.  <a href="group__OpenGL.html#a0067ed41cdddd4371d5292586c25cecf">More...</a><br /></td></tr>
<tr class="separator:a0067ed41cdddd4371d5292586c25cecf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3e8a8080be69e6170b5870b80bf6e9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ae3e8a8080be69e6170b5870b80bf6e9c">Copy</a> (void *ptr, uint32_t size, uint32_t flags)</td></tr>
<tr class="memdesc:ae3e8a8080be69e6170b5870b80bf6e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy contents of the texture to/from CPU or CUDA memory.  <a href="group__OpenGL.html#ae3e8a8080be69e6170b5870b80bf6e9c">More...</a><br /></td></tr>
<tr class="separator:ae3e8a8080be69e6170b5870b80bf6e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c607bd04f6f27df58ad2fa50546fb60"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a8c607bd04f6f27df58ad2fa50546fb60">Copy</a> (void *ptr, uint32_t offset, uint32_t size, uint32_t flags)</td></tr>
<tr class="memdesc:a8c607bd04f6f27df58ad2fa50546fb60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy contents of the texture to/from CPU or CUDA memory.  <a href="group__OpenGL.html#a8c607bd04f6f27df58ad2fa50546fb60">More...</a><br /></td></tr>
<tr class="separator:a8c607bd04f6f27df58ad2fa50546fb60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Static Public Member Functions</h3></td></tr>
<tr class="memitem:a3ab747085fde20860837129dcbc8582b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__OpenGL.html#classglTexture">glTexture</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3ab747085fde20860837129dcbc8582b">Create</a> (uint32_t width, uint32_t height, uint32_t format, void *data=NULL)</td></tr>
<tr class="memdesc:a3ab747085fde20860837129dcbc8582b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate an OpenGL texture.  <a href="group__OpenGL.html#a3ab747085fde20860837129dcbc8582b">More...</a><br /></td></tr>
<tr class="separator:a3ab747085fde20860837129dcbc8582b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Constructor &amp; Destructor Documentation</h4>
<a id="accb8f44543b92f75a137d768194a10d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accb8f44543b92f75a137d768194a10d2">&#9670;&nbsp;</a></span>~glTexture()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">glTexture::~glTexture </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free the texture. </p>

</div>
</div>
<h4 class="groupheader">Member Function Documentation</h4>
<a id="a600cb151e484ef4497e50d96f9bfc2a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a600cb151e484ef4497e50d96f9bfc2a9">&#9670;&nbsp;</a></span>Bind()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glTexture::Bind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activate using the texture. </p>

</div>
</div>
<a id="a0067ed41cdddd4371d5292586c25cecf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0067ed41cdddd4371d5292586c25cecf">&#9670;&nbsp;</a></span>Copy() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glTexture::Copy </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy entire contents of the texture to/from CPU or CUDA memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>the memory pointer to copy to/from, either in CPU or CUDA address space depending on flags. It's assumed that the size of the memory from this pointer is equal to <a class="el" href="group__OpenGL.html#a35ba15763a0a187bd4e103eda1e2ab5c" title="Retrieve the size in bytes of the texture.">GetSize()</a>, and the entire contents of the buffer will be copied.</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_FROM_CPU (copy from CPU-&gt;OpenGL)</li>
<li>GL_FROM_CUDA (copy from CUDA-&gt;OpenGL)</li>
<li>GL_TO_CPU (copy from OpenGL-&gt;CPU)</li>
<li>GL_TO_CUDA (copy from OpenGL-&gt;CUDA)</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>

</div>
</div>
<a id="a8c607bd04f6f27df58ad2fa50546fb60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c607bd04f6f27df58ad2fa50546fb60">&#9670;&nbsp;</a></span>Copy() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glTexture::Copy </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy contents of the texture to/from CPU or CUDA memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>the memory buffer to copy to/from, either in CPU or CUDA address space depending on flags</td></tr>
    <tr><td class="paramname">offset</td><td>the offset into the OpenGL buffer to copy. It is assumed any offset to the CPU/CUDA pointer argument has already been applied.</td></tr>
    <tr><td class="paramname">size</td><td>the number of bytes to copy</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_FROM_CPU (copy from CPU-&gt;OpenGL)</li>
<li>GL_FROM_CUDA (copy from CUDA-&gt;OpenGL)</li>
<li>GL_TO_CPU (copy from OpenGL-&gt;CPU)</li>
<li>GL_TO_CUDA (copy from OpenGL-&gt;CUDA)</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>

</div>
</div>
<a id="ae3e8a8080be69e6170b5870b80bf6e9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3e8a8080be69e6170b5870b80bf6e9c">&#9670;&nbsp;</a></span>Copy() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glTexture::Copy </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy contents of the texture to/from CPU or CUDA memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>the memory pointer to copy to/from, either in CPU or CUDA address space depending on flags.</td></tr>
    <tr><td class="paramname">size</td><td>the number of bytes to copy</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_FROM_CPU (copy from CPU-&gt;OpenGL)</li>
<li>GL_FROM_CUDA (copy from CUDA-&gt;OpenGL)</li>
<li>GL_TO_CPU (copy from OpenGL-&gt;CPU)</li>
<li>GL_TO_CUDA (copy from OpenGL-&gt;CUDA)</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>

</div>
</div>
<a id="a3ab747085fde20860837129dcbc8582b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ab747085fde20860837129dcbc8582b">&#9670;&nbsp;</a></span>Create()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__OpenGL.html#classglTexture">glTexture</a>* glTexture::Create </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocate an OpenGL texture. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">width</td><td>the width of the texture in pixels </td></tr>
    <tr><td class="paramname">height</td><td>the height of the texture in pixels </td></tr>
    <tr><td class="paramname">format</td><td>GL_RGBA8, GL_RGBA32F, ect. </td></tr>
    <tr><td class="paramname">data</td><td>initialize the texture's memory with this CPU pointer, size is width*height*bpp </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a24d1124dd9e3ee4a885037680e034d24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24d1124dd9e3ee4a885037680e034d24">&#9670;&nbsp;</a></span>GetFormat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glTexture::GetFormat </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the texture's format (e.g. </p>
<p>GL_RGBA8, GL_RGBA32F, ect.) </p>

</div>
</div>
<a id="a7e83b13ce1281d90a59c0cfca7f80834"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e83b13ce1281d90a59c0cfca7f80834">&#9670;&nbsp;</a></span>GetHeight()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glTexture::GetHeight </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the height in pixels of the texture. </p>

</div>
</div>
<a id="acba11f3282339fb2490c930177ec8562"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acba11f3282339fb2490c930177ec8562">&#9670;&nbsp;</a></span>GetID()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glTexture::GetID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the OpenGL resource handle of the texture. </p>

</div>
</div>
<a id="a35ba15763a0a187bd4e103eda1e2ab5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35ba15763a0a187bd4e103eda1e2ab5c">&#9670;&nbsp;</a></span>GetSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glTexture::GetSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the size in bytes of the texture. </p>

</div>
</div>
<a id="ab4e7455f84741b4bc4601bd44df95063"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4e7455f84741b4bc4601bd44df95063">&#9670;&nbsp;</a></span>GetWidth()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glTexture::GetWidth </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the width in pixels of the texture. </p>

</div>
</div>
<a id="a988866fe886ea2f07208e691a8b9a173"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a988866fe886ea2f07208e691a8b9a173">&#9670;&nbsp;</a></span>Map()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* glTexture::Map </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the texture for accessing from the CPU or CUDA. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>either GL_MAP_CPU or GL_MAP_CUDA</td></tr>
    <tr><td class="paramname">flags</td><td>should be one of the following:<ul>
<li>GL_READ_WRITE</li>
<li>GL_READ_ONLY</li>
<li>GL_WRITE_ONLY</li>
<li>GL_WRITE_DISCARD</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>CPU pointer to buffer if GL_MAP_CPU was specified, CUDA device pointer to buffer if GL_MAP_CUDA was specified, or NULL if an error occurred mapping the buffer. <br  />
 </dd></dl>

</div>
</div>
<a id="ab449860cc3d739a6615d93f4a1764f20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab449860cc3d739a6615d93f4a1764f20">&#9670;&nbsp;</a></span>Render() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glTexture::Render </td>
          <td>(</td>
          <td class="paramtype">const float4 &amp;&#160;</td>
          <td class="paramname"><em>rect</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render the texture to the specific screen rectangle. </p>

</div>
</div>
<a id="aacbc1ed68a99930b628b41d69997227e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacbc1ed68a99930b628b41d69997227e">&#9670;&nbsp;</a></span>Render() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glTexture::Render </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render the texture at the specified window coordinates. </p>

</div>
</div>
<a id="a38103fc1ec96018601b21131db5144c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38103fc1ec96018601b21131db5144c9">&#9670;&nbsp;</a></span>Render() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glTexture::Render </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render the texture with the specified position and size. </p>

</div>
</div>
<a id="a803c368b6a26675b4cc45b0aae47f9c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a803c368b6a26675b4cc45b0aae47f9c3">&#9670;&nbsp;</a></span>Unbind()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glTexture::Unbind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deactivate using the texture. </p>

</div>
</div>
<a id="aa2f21d5b0b9235bf53744ca71e258841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2f21d5b0b9235bf53744ca71e258841">&#9670;&nbsp;</a></span>Unmap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glTexture::Unmap </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unmap the texture from CPU/CUDA access. </p>
<dl class="section note"><dt>Note</dt><dd>the texture will be unbound after calling <a class="el" href="group__OpenGL.html#aa2f21d5b0b9235bf53744ca71e258841" title="Unmap the texture from CPU/CUDA access.">Unmap()</a> </dd></dl>

</div>
</div>

</div>
</div>
<a name="classglWidget" id="classglWidget"></a>
<h2 class="memtitle"><span class="permalink"><a href="#classglWidget">&#9670;&nbsp;</a></span>glWidget</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class glWidget</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>OpenGL graphics widget for rendering moveable/resizable shapes. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Public Types</h3></td></tr>
<tr class="memitem:a34532b25a0465161a8f4e591ffc3ad3c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a> { <a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3cad04a01cc5e6e4e8e7647a73f5787891a">Rect</a>, 
<a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3cac5e34b010d96dd6ff5729a5df336baff">Line</a>, 
<a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3ca894b67c9e62420331395e399d387cdbc">Ellipse</a>
 }</td></tr>
<tr class="memdesc:a34532b25a0465161a8f4e591ffc3ad3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shape enum.  <a href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">More...</a><br /></td></tr>
<tr class="separator:a34532b25a0465161a8f4e591ffc3ad3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a205213b643ddc9475c7a40da4711cda3"><td class="memItemLeft" align="right" valign="top">typedef bool(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a205213b643ddc9475c7a40da4711cda3">glWidgetEventHandler</a>) (<a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *widget, uint16_t event, int a, int b, void *user)</td></tr>
<tr class="memdesc:a205213b643ddc9475c7a40da4711cda3"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__threads.html#classEvent" title="Event object for signalling other threads.">Event</a> message handler callback for recieving UI messages from widgets.  <a href="group__OpenGL.html#a205213b643ddc9475c7a40da4711cda3">More...</a><br /></td></tr>
<tr class="separator:a205213b643ddc9475c7a40da4711cda3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Public Member Functions</h3></td></tr>
<tr class="memitem:a5f7240a0283bf7aec96f2e0c7b58b9e1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5f7240a0283bf7aec96f2e0c7b58b9e1">glWidget</a> (<a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a> shape=<a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3cad04a01cc5e6e4e8e7647a73f5787891a">Rect</a>)</td></tr>
<tr class="memdesc:a5f7240a0283bf7aec96f2e0c7b58b9e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="group__OpenGL.html#a5f7240a0283bf7aec96f2e0c7b58b9e1">More...</a><br /></td></tr>
<tr class="separator:a5f7240a0283bf7aec96f2e0c7b58b9e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f688d56ef49185cfa92d69e87e3da00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a7f688d56ef49185cfa92d69e87e3da00">glWidget</a> (float x, float y, float width, float height, <a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a> shape=<a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3cad04a01cc5e6e4e8e7647a73f5787891a">Rect</a>)</td></tr>
<tr class="memdesc:a7f688d56ef49185cfa92d69e87e3da00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="group__OpenGL.html#a7f688d56ef49185cfa92d69e87e3da00">More...</a><br /></td></tr>
<tr class="separator:a7f688d56ef49185cfa92d69e87e3da00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a938b3d84be4081d4f6828df2f391cd46"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a938b3d84be4081d4f6828df2f391cd46">~glWidget</a> ()</td></tr>
<tr class="memdesc:a938b3d84be4081d4f6828df2f391cd46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="group__OpenGL.html#a938b3d84be4081d4f6828df2f391cd46">More...</a><br /></td></tr>
<tr class="separator:a938b3d84be4081d4f6828df2f391cd46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed8d19970d2ab09e7dc7fc45de30f12b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aed8d19970d2ab09e7dc7fc45de30f12b">Contains</a> (float x, float y) const</td></tr>
<tr class="memdesc:aed8d19970d2ab09e7dc7fc45de30f12b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if the point is inside the widget.  <a href="group__OpenGL.html#aed8d19970d2ab09e7dc7fc45de30f12b">More...</a><br /></td></tr>
<tr class="separator:aed8d19970d2ab09e7dc7fc45de30f12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ef9c4e97e7998b6e150e7edfcce140c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3ef9c4e97e7998b6e150e7edfcce140c">Move</a> (float x, float y)</td></tr>
<tr class="memdesc:a3ef9c4e97e7998b6e150e7edfcce140c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the widget's position by the specified offset.  <a href="group__OpenGL.html#a3ef9c4e97e7998b6e150e7edfcce140c">More...</a><br /></td></tr>
<tr class="separator:a3ef9c4e97e7998b6e150e7edfcce140c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b0b580a068e05f6a4f96292e24a63b6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a4b0b580a068e05f6a4f96292e24a63b6">X</a> () const</td></tr>
<tr class="memdesc:a4b0b580a068e05f6a4f96292e24a63b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the widget's X coordinate.  <a href="group__OpenGL.html#a4b0b580a068e05f6a4f96292e24a63b6">More...</a><br /></td></tr>
<tr class="separator:a4b0b580a068e05f6a4f96292e24a63b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a634e82aa95f40ca76c2beec834769717"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a634e82aa95f40ca76c2beec834769717">Y</a> () const</td></tr>
<tr class="memdesc:a634e82aa95f40ca76c2beec834769717"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the widget's Y coordinate.  <a href="group__OpenGL.html#a634e82aa95f40ca76c2beec834769717">More...</a><br /></td></tr>
<tr class="separator:a634e82aa95f40ca76c2beec834769717"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3670b74a4763abbcd4d21500f4ac626c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3670b74a4763abbcd4d21500f4ac626c">SetX</a> (float x)</td></tr>
<tr class="memdesc:a3670b74a4763abbcd4d21500f4ac626c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the widget's X coordinate.  <a href="group__OpenGL.html#a3670b74a4763abbcd4d21500f4ac626c">More...</a><br /></td></tr>
<tr class="separator:a3670b74a4763abbcd4d21500f4ac626c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d55a8dcab6721a154b2e4f5ed53d586"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a9d55a8dcab6721a154b2e4f5ed53d586">SetY</a> (float y)</td></tr>
<tr class="memdesc:a9d55a8dcab6721a154b2e4f5ed53d586"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the widget's Y coordinate.  <a href="group__OpenGL.html#a9d55a8dcab6721a154b2e4f5ed53d586">More...</a><br /></td></tr>
<tr class="separator:a9d55a8dcab6721a154b2e4f5ed53d586"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeded50b8cb9112b874013be651299674"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aeded50b8cb9112b874013be651299674">Width</a> () const</td></tr>
<tr class="memdesc:aeded50b8cb9112b874013be651299674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the widget's width.  <a href="group__OpenGL.html#aeded50b8cb9112b874013be651299674">More...</a><br /></td></tr>
<tr class="separator:aeded50b8cb9112b874013be651299674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a410c337398dd9fc5aa79c19539750642"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a410c337398dd9fc5aa79c19539750642">Height</a> () const</td></tr>
<tr class="memdesc:a410c337398dd9fc5aa79c19539750642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the widget's height.  <a href="group__OpenGL.html#a410c337398dd9fc5aa79c19539750642">More...</a><br /></td></tr>
<tr class="separator:a410c337398dd9fc5aa79c19539750642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af55b147cc0621a07b85490cb6d7c1824"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#af55b147cc0621a07b85490cb6d7c1824">SetWidth</a> (float width)</td></tr>
<tr class="memdesc:af55b147cc0621a07b85490cb6d7c1824"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the widget's width.  <a href="group__OpenGL.html#af55b147cc0621a07b85490cb6d7c1824">More...</a><br /></td></tr>
<tr class="separator:af55b147cc0621a07b85490cb6d7c1824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac835bf8ff0f03d34634aaff9b2e4e80e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac835bf8ff0f03d34634aaff9b2e4e80e">SetHeight</a> (float height)</td></tr>
<tr class="memdesc:ac835bf8ff0f03d34634aaff9b2e4e80e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the widget's height.  <a href="group__OpenGL.html#ac835bf8ff0f03d34634aaff9b2e4e80e">More...</a><br /></td></tr>
<tr class="separator:ac835bf8ff0f03d34634aaff9b2e4e80e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc49dde308a61b86ee18f9fec63de1a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#afc49dde308a61b86ee18f9fec63de1a1">GetPosition</a> (float *x, float *y) const</td></tr>
<tr class="memdesc:afc49dde308a61b86ee18f9fec63de1a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get position of widget in global window coordinates.  <a href="group__OpenGL.html#afc49dde308a61b86ee18f9fec63de1a1">More...</a><br /></td></tr>
<tr class="separator:afc49dde308a61b86ee18f9fec63de1a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc85ba15d783f8693783321d474b61b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#abc85ba15d783f8693783321d474b61b2">SetPosition</a> (float x, float y)</td></tr>
<tr class="memdesc:abc85ba15d783f8693783321d474b61b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set position of widget in global window coordinates.  <a href="group__OpenGL.html#abc85ba15d783f8693783321d474b61b2">More...</a><br /></td></tr>
<tr class="separator:abc85ba15d783f8693783321d474b61b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae82ec5754f965f37ce5ed99681d8eff4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ae82ec5754f965f37ce5ed99681d8eff4">GetCoords</a> (float *x1, float *y1, float *x2, float *y2) const</td></tr>
<tr class="memdesc:ae82ec5754f965f37ce5ed99681d8eff4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the bounding coordinates of the widget.  <a href="group__OpenGL.html#ae82ec5754f965f37ce5ed99681d8eff4">More...</a><br /></td></tr>
<tr class="separator:ae82ec5754f965f37ce5ed99681d8eff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bd07231a3e27058e2576faf800337e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a6bd07231a3e27058e2576faf800337e8">SetCoords</a> (float x1, float y1, float x2, float y2)</td></tr>
<tr class="memdesc:a6bd07231a3e27058e2576faf800337e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the bounding coordinates of the widget.  <a href="group__OpenGL.html#a6bd07231a3e27058e2576faf800337e8">More...</a><br /></td></tr>
<tr class="separator:a6bd07231a3e27058e2576faf800337e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecc3f788b33837162593b54565056d2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aecc3f788b33837162593b54565056d2f">GetSize</a> (float *width, float *height) const</td></tr>
<tr class="memdesc:aecc3f788b33837162593b54565056d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the widget's size.  <a href="group__OpenGL.html#aecc3f788b33837162593b54565056d2f">More...</a><br /></td></tr>
<tr class="separator:aecc3f788b33837162593b54565056d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5c7bf0eb812a4f935e0ba8738828c97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ae5c7bf0eb812a4f935e0ba8738828c97">SetSize</a> (float width, float height)</td></tr>
<tr class="memdesc:ae5c7bf0eb812a4f935e0ba8738828c97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the widget's size.  <a href="group__OpenGL.html#ae5c7bf0eb812a4f935e0ba8738828c97">More...</a><br /></td></tr>
<tr class="separator:ae5c7bf0eb812a4f935e0ba8738828c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10e33fe5484d5411e7ce118c70e680b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a10e33fe5484d5411e7ce118c70e680b1">GetShape</a> () const</td></tr>
<tr class="memdesc:a10e33fe5484d5411e7ce118c70e680b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the shape.  <a href="group__OpenGL.html#a10e33fe5484d5411e7ce118c70e680b1">More...</a><br /></td></tr>
<tr class="separator:a10e33fe5484d5411e7ce118c70e680b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3610f2dfa2ae4af84c492c49a9e780d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3610f2dfa2ae4af84c492c49a9e780d0">SetShape</a> (<a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a> shape)</td></tr>
<tr class="memdesc:a3610f2dfa2ae4af84c492c49a9e780d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the shape.  <a href="group__OpenGL.html#a3610f2dfa2ae4af84c492c49a9e780d0">More...</a><br /></td></tr>
<tr class="separator:a3610f2dfa2ae4af84c492c49a9e780d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8abbff6976a842be844a62c81e5b71e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a8abbff6976a842be844a62c81e5b71e8">SetFillAlpha</a> (float a)</td></tr>
<tr class="memdesc:a8abbff6976a842be844a62c81e5b71e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set fill alpha.  <a href="group__OpenGL.html#a8abbff6976a842be844a62c81e5b71e8">More...</a><br /></td></tr>
<tr class="separator:a8abbff6976a842be844a62c81e5b71e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f00e8ad61269abc413a52adddf42044"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a1f00e8ad61269abc413a52adddf42044">SetLineAlpha</a> (float a)</td></tr>
<tr class="memdesc:a1f00e8ad61269abc413a52adddf42044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set outline alpha.  <a href="group__OpenGL.html#a1f00e8ad61269abc413a52adddf42044">More...</a><br /></td></tr>
<tr class="separator:a1f00e8ad61269abc413a52adddf42044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d351dab596aa07f1d8ef5c0628364b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a64d351dab596aa07f1d8ef5c0628364b">SetLineWidth</a> (float width)</td></tr>
<tr class="memdesc:a64d351dab596aa07f1d8ef5c0628364b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set outline width.  <a href="group__OpenGL.html#a64d351dab596aa07f1d8ef5c0628364b">More...</a><br /></td></tr>
<tr class="separator:a64d351dab596aa07f1d8ef5c0628364b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67543e3cef0771c57b317f6ad44ba9bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a67543e3cef0771c57b317f6ad44ba9bc">SetFillColor</a> (float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:a67543e3cef0771c57b317f6ad44ba9bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set fill color.  <a href="group__OpenGL.html#a67543e3cef0771c57b317f6ad44ba9bc">More...</a><br /></td></tr>
<tr class="separator:a67543e3cef0771c57b317f6ad44ba9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac94ab886da5e37d1cbe9d32000c01700"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac94ab886da5e37d1cbe9d32000c01700">SetLineColor</a> (float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:ac94ab886da5e37d1cbe9d32000c01700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set outline color.  <a href="group__OpenGL.html#ac94ab886da5e37d1cbe9d32000c01700">More...</a><br /></td></tr>
<tr class="separator:ac94ab886da5e37d1cbe9d32000c01700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67e0fdf6cc515e0349c77c29a35f9e0b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a67e0fdf6cc515e0349c77c29a35f9e0b">SetSelectedFillColor</a> (float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:a67e0fdf6cc515e0349c77c29a35f9e0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set selected fill color.  <a href="group__OpenGL.html#a67e0fdf6cc515e0349c77c29a35f9e0b">More...</a><br /></td></tr>
<tr class="separator:a67e0fdf6cc515e0349c77c29a35f9e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e43a63d48c50cf89e874927980c8baf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a7e43a63d48c50cf89e874927980c8baf">SetSelectedLineColor</a> (float r, float g, float b, float a=1.0f)</td></tr>
<tr class="memdesc:a7e43a63d48c50cf89e874927980c8baf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set selected outline color.  <a href="group__OpenGL.html#a7e43a63d48c50cf89e874927980c8baf">More...</a><br /></td></tr>
<tr class="separator:a7e43a63d48c50cf89e874927980c8baf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6016740b9bfcf7c849dddf7f0fff98fc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a6016740b9bfcf7c849dddf7f0fff98fc">IsMoveable</a> () const</td></tr>
<tr class="memdesc:a6016740b9bfcf7c849dddf7f0fff98fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the widget moveable/draggable by the user?  <a href="group__OpenGL.html#a6016740b9bfcf7c849dddf7f0fff98fc">More...</a><br /></td></tr>
<tr class="separator:a6016740b9bfcf7c849dddf7f0fff98fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a93b1a07f8fbd0ef4bb9beddea1ee2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a2a93b1a07f8fbd0ef4bb9beddea1ee2f">SetMoveable</a> (bool moveable)</td></tr>
<tr class="memdesc:a2a93b1a07f8fbd0ef4bb9beddea1ee2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggle if the user can move/drag the widget.  <a href="group__OpenGL.html#a2a93b1a07f8fbd0ef4bb9beddea1ee2f">More...</a><br /></td></tr>
<tr class="separator:a2a93b1a07f8fbd0ef4bb9beddea1ee2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8be5c9bb96f9dd97833a628352360c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#af8be5c9bb96f9dd97833a628352360c1">IsResizeable</a> () const</td></tr>
<tr class="memdesc:af8be5c9bb96f9dd97833a628352360c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the widget resizeable by the user?  <a href="group__OpenGL.html#af8be5c9bb96f9dd97833a628352360c1">More...</a><br /></td></tr>
<tr class="separator:af8be5c9bb96f9dd97833a628352360c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76ce29371050c947e4edabfcd00d2ba5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a76ce29371050c947e4edabfcd00d2ba5">SetResizeable</a> (bool resizeable)</td></tr>
<tr class="memdesc:a76ce29371050c947e4edabfcd00d2ba5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggle if the user can resize the widget.  <a href="group__OpenGL.html#a76ce29371050c947e4edabfcd00d2ba5">More...</a><br /></td></tr>
<tr class="separator:a76ce29371050c947e4edabfcd00d2ba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9a1474827c54f17307b38fd0bdfc7ca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aa9a1474827c54f17307b38fd0bdfc7ca">IsSelected</a> () const</td></tr>
<tr class="memdesc:aa9a1474827c54f17307b38fd0bdfc7ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the widget selected?  <a href="group__OpenGL.html#aa9a1474827c54f17307b38fd0bdfc7ca">More...</a><br /></td></tr>
<tr class="separator:aa9a1474827c54f17307b38fd0bdfc7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a137efa9e4be163b8ed78cc8579199986"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a137efa9e4be163b8ed78cc8579199986">SetSelected</a> (bool selected)</td></tr>
<tr class="memdesc:a137efa9e4be163b8ed78cc8579199986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select/de-select the widget.  <a href="group__OpenGL.html#a137efa9e4be163b8ed78cc8579199986">More...</a><br /></td></tr>
<tr class="separator:a137efa9e4be163b8ed78cc8579199986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1ce1a241774d63cc1a0b2a07930fb92"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ad1ce1a241774d63cc1a0b2a07930fb92">IsVisible</a> () const</td></tr>
<tr class="memdesc:ad1ce1a241774d63cc1a0b2a07930fb92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the widget visible.  <a href="group__OpenGL.html#ad1ce1a241774d63cc1a0b2a07930fb92">More...</a><br /></td></tr>
<tr class="separator:ad1ce1a241774d63cc1a0b2a07930fb92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0710d5b99bb86794ee0117e2cb910ec1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0710d5b99bb86794ee0117e2cb910ec1">SetVisible</a> (bool visible)</td></tr>
<tr class="memdesc:a0710d5b99bb86794ee0117e2cb910ec1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Show/hide the widget.  <a href="group__OpenGL.html#a0710d5b99bb86794ee0117e2cb910ec1">More...</a><br /></td></tr>
<tr class="separator:a0710d5b99bb86794ee0117e2cb910ec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cc9a94d7e6778b94e69ed1fb9e625da"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5cc9a94d7e6778b94e69ed1fb9e625da">GetUserData</a> () const</td></tr>
<tr class="memdesc:a5cc9a94d7e6778b94e69ed1fb9e625da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve user data.  <a href="group__OpenGL.html#a5cc9a94d7e6778b94e69ed1fb9e625da">More...</a><br /></td></tr>
<tr class="separator:a5cc9a94d7e6778b94e69ed1fb9e625da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6769b290a1d646f111abdea3b0de78c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a6769b290a1d646f111abdea3b0de78c1">SetUserData</a> (void *user)</td></tr>
<tr class="memdesc:a6769b290a1d646f111abdea3b0de78c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set user-defined data.  <a href="group__OpenGL.html#a6769b290a1d646f111abdea3b0de78c1">More...</a><br /></td></tr>
<tr class="separator:a6769b290a1d646f111abdea3b0de78c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bd2db265717ef90b6cbd65663c7f56f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a6bd2db265717ef90b6cbd65663c7f56f">GetDisplay</a> () const</td></tr>
<tr class="memdesc:a6bd2db265717ef90b6cbd65663c7f56f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the root window of the widget.  <a href="group__OpenGL.html#a6bd2db265717ef90b6cbd65663c7f56f">More...</a><br /></td></tr>
<tr class="separator:a6bd2db265717ef90b6cbd65663c7f56f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8099ad0207c2450231ab8b0ad4a5bd53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a8099ad0207c2450231ab8b0ad4a5bd53">GetIndex</a> () const</td></tr>
<tr class="memdesc:a8099ad0207c2450231ab8b0ad4a5bd53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the index of the widget in the window (or -1 if none)  <a href="group__OpenGL.html#a8099ad0207c2450231ab8b0ad4a5bd53">More...</a><br /></td></tr>
<tr class="separator:a8099ad0207c2450231ab8b0ad4a5bd53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8934c3e32deaf2d86e806f48c667b94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac8934c3e32deaf2d86e806f48c667b94">Render</a> ()</td></tr>
<tr class="memdesc:ac8934c3e32deaf2d86e806f48c667b94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render (automatically called by parent)  <a href="group__OpenGL.html#ac8934c3e32deaf2d86e806f48c667b94">More...</a><br /></td></tr>
<tr class="separator:ac8934c3e32deaf2d86e806f48c667b94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abad602c978f8ca73f197df4f690f1280"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#abad602c978f8ca73f197df4f690f1280">GlobalToLocal</a> (float x, float y, float *x_out, float *y_out) const</td></tr>
<tr class="memdesc:abad602c978f8ca73f197df4f690f1280"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from global window coordinates to local widget offset.  <a href="group__OpenGL.html#abad602c978f8ca73f197df4f690f1280">More...</a><br /></td></tr>
<tr class="separator:abad602c978f8ca73f197df4f690f1280"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d0f4c643dc9382bc3463f7178dcaeeb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a5d0f4c643dc9382bc3463f7178dcaeeb">LocalToGlobal</a> (float x, float y, float *x_out, float *y_out) const</td></tr>
<tr class="memdesc:a5d0f4c643dc9382bc3463f7178dcaeeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from local widget offset to global window coordinates.  <a href="group__OpenGL.html#a5d0f4c643dc9382bc3463f7178dcaeeb">More...</a><br /></td></tr>
<tr class="separator:a5d0f4c643dc9382bc3463f7178dcaeeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd9f8f577749f268f8ae973a84333520"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#abd9f8f577749f268f8ae973a84333520">AddEventHandler</a> (<a class="el" href="group__OpenGL.html#a205213b643ddc9475c7a40da4711cda3">glWidgetEventHandler</a> callback, void *user=NULL)</td></tr>
<tr class="memdesc:abd9f8f577749f268f8ae973a84333520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register an event message handler the widget will send events to.  <a href="group__OpenGL.html#abd9f8f577749f268f8ae973a84333520">More...</a><br /></td></tr>
<tr class="separator:abd9f8f577749f268f8ae973a84333520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3cf5ffa3a98154149740b5ec95d62f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ab3cf5ffa3a98154149740b5ec95d62f0">RemoveEventHandler</a> (<a class="el" href="group__OpenGL.html#a205213b643ddc9475c7a40da4711cda3">glWidgetEventHandler</a> callback, void *user=NULL)</td></tr>
<tr class="memdesc:ab3cf5ffa3a98154149740b5ec95d62f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an event message handler from being called by the widget.  <a href="group__OpenGL.html#ab3cf5ffa3a98154149740b5ec95d62f0">More...</a><br /></td></tr>
<tr class="separator:ab3cf5ffa3a98154149740b5ec95d62f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadbd752016bf572f5e4c72888ca2a56a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#aadbd752016bf572f5e4c72888ca2a56a">OnEvent</a> (uint16_t event, int a, int b, void *user)</td></tr>
<tr class="separator:aadbd752016bf572f5e4c72888ca2a56a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Protected Types</h3></td></tr>
<tr class="memitem:ac9f39ca9d55807649bad14a53e02514e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">DragState</a> { <br />
&#160;&#160;<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea121e3c481027b9e4c2a8992615d3be64">DragNone</a>, 
<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea1f6745ca15db1c3dce19abb72cec30ad">DragMove</a>, 
<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea0c27e48ae1ee5d2295447809642ccf18">DragResizeN</a>, 
<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea6aeb4e6769f3143a776d1d22738e1fac">DragResizeNW</a>, 
<br />
&#160;&#160;<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea0237ac0d2bd5c6bcd64375e498cba7dc">DragResizeNE</a>, 
<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514eab0616dbcca617af5fca82e5e47c5185e">DragResizeS</a>, 
<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea163ec6f4f1687ff9360ba1f34557c7e5">DragResizeSW</a>, 
<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea24c648bf3ea000c3c83403ddda25afb8">DragResizeSE</a>, 
<br />
&#160;&#160;<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea10414d584132d70ff0fe6987fedb38d2">DragResizeW</a>, 
<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514ea06b4c2ccb4718a192677e8da1c84c461">DragResizeE</a>
<br />
 }</td></tr>
<tr class="separator:ac9f39ca9d55807649bad14a53e02514e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Protected Member Functions</h3></td></tr>
<tr class="memitem:a795838e304f675e161a920fba097f5ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a795838e304f675e161a920fba097f5ae">initDefaults</a> ()</td></tr>
<tr class="separator:a795838e304f675e161a920fba097f5ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dc742d642246e0a52902baa9a628bb5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a4dc742d642246e0a52902baa9a628bb5">setCursor</a> (<a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">DragState</a> cursor)</td></tr>
<tr class="separator:a4dc742d642246e0a52902baa9a628bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a886ee453d0b0d2c79438ff3db520f617"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a886ee453d0b0d2c79438ff3db520f617">setDisplay</a> (<a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a> *display)</td></tr>
<tr class="separator:a886ee453d0b0d2c79438ff3db520f617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a583557bb83aad6e5c42169c0b41a0dd4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a583557bb83aad6e5c42169c0b41a0dd4">dispatchEvent</a> (uint16_t msg, int a, int b)</td></tr>
<tr class="separator:a583557bb83aad6e5c42169c0b41a0dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4783b98aae002ce1bd5696396bd9070"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">DragState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac4783b98aae002ce1bd5696396bd9070">coordToBorder</a> (float x, float y, float max_distance=10.0f)</td></tr>
<tr class="separator:ac4783b98aae002ce1bd5696396bd9070"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Protected Attributes</h3></td></tr>
<tr class="memitem:a14e536803cdf07f1186b5a1be256e2bb"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a14e536803cdf07f1186b5a1be256e2bb">mX</a></td></tr>
<tr class="separator:a14e536803cdf07f1186b5a1be256e2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3439736a22408fcc1fce45e642485530"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a3439736a22408fcc1fce45e642485530">mY</a></td></tr>
<tr class="separator:a3439736a22408fcc1fce45e642485530"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cb5fcc7ea63cd0e03390ed5d8a12d60"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0cb5fcc7ea63cd0e03390ed5d8a12d60">mWidth</a></td></tr>
<tr class="separator:a0cb5fcc7ea63cd0e03390ed5d8a12d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbfbfe9388ac30a99fa3c6ce422e89f8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#afbfbfe9388ac30a99fa3c6ce422e89f8">mHeight</a></td></tr>
<tr class="separator:afbfbfe9388ac30a99fa3c6ce422e89f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3f58166484b625be1c4f7f2ba40426f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ae3f58166484b625be1c4f7f2ba40426f">mSelectedFillColor</a> [4]</td></tr>
<tr class="separator:ae3f58166484b625be1c4f7f2ba40426f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb6667e680df535ae0f29881a670b3a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#afbb6667e680df535ae0f29881a670b3a">mSelectedLineColor</a> [4]</td></tr>
<tr class="separator:afbb6667e680df535ae0f29881a670b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8ed0b33c5fa33dda0bbc4438d7d8521"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac8ed0b33c5fa33dda0bbc4438d7d8521">mFillColor</a> [4]</td></tr>
<tr class="separator:ac8ed0b33c5fa33dda0bbc4438d7d8521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f15154b3f74e0aa123ec192e66b1011"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a7f15154b3f74e0aa123ec192e66b1011">mLineColor</a> [4]</td></tr>
<tr class="separator:a7f15154b3f74e0aa123ec192e66b1011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a547aadefb60d6851d67921d97915fb24"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a547aadefb60d6851d67921d97915fb24">mLineWidth</a></td></tr>
<tr class="separator:a547aadefb60d6851d67921d97915fb24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95538a31f4d57c466a36f40dbd8562cf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a95538a31f4d57c466a36f40dbd8562cf">mMoveable</a></td></tr>
<tr class="separator:a95538a31f4d57c466a36f40dbd8562cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98e3826fac04535c03dc0858cdfb1304"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a98e3826fac04535c03dc0858cdfb1304">mResizeable</a></td></tr>
<tr class="separator:a98e3826fac04535c03dc0858cdfb1304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48a4c2aa384316ec39cc10707e945821"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a48a4c2aa384316ec39cc10707e945821">mSelected</a></td></tr>
<tr class="separator:a48a4c2aa384316ec39cc10707e945821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9bbb7e6994a717426e166fa52fbf390"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac9bbb7e6994a717426e166fa52fbf390">mVisible</a></td></tr>
<tr class="separator:ac9bbb7e6994a717426e166fa52fbf390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9102c8fbb5f691bd0ca077bd6dc7391"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ad9102c8fbb5f691bd0ca077bd6dc7391">mShape</a></td></tr>
<tr class="separator:ad9102c8fbb5f691bd0ca077bd6dc7391"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a287d4315717939729f948c0ac73ebdbb"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a287d4315717939729f948c0ac73ebdbb">mUserData</a></td></tr>
<tr class="separator:a287d4315717939729f948c0ac73ebdbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e268038b53182e91aa11b955a2c979b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#a0e268038b53182e91aa11b955a2c979b">mDisplay</a></td></tr>
<tr class="separator:a0e268038b53182e91aa11b955a2c979b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8828581618930321f0ddb589b956744"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">DragState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac8828581618930321f0ddb589b956744">mDragState</a></td></tr>
<tr class="separator:ac8828581618930321f0ddb589b956744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac184e8a4f67f8cd27c073e4a34188db0"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structglWidget_1_1eventHandler.html">eventHandler</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#ac184e8a4f67f8cd27c073e4a34188db0">mEventHandlers</a></td></tr>
<tr class="separator:ac184e8a4f67f8cd27c073e4a34188db0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Friends</h3></td></tr>
<tr class="memitem:abf272525875a119a6a3ee492f77f9f40"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OpenGL.html#abf272525875a119a6a3ee492f77f9f40">glDisplay</a></td></tr>
<tr class="separator:abf272525875a119a6a3ee492f77f9f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Member Typedef Documentation</h4>
<a id="a205213b643ddc9475c7a40da4711cda3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a205213b643ddc9475c7a40da4711cda3">&#9670;&nbsp;</a></span>glWidgetEventHandler</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef bool(* glWidget::glWidgetEventHandler) (<a class="el" href="group__OpenGL.html#classglWidget">glWidget</a> *widget, uint16_t event, int a, int b, void *user)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="group__threads.html#classEvent" title="Event object for signalling other threads.">Event</a> message handler callback for recieving UI messages from widgets. </p>
<p>Recieves 4 parameters - the widget that sent the event, the event type, a &amp; b message values (</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#gadad47fc5cdbc7af41eee1991038749fe" title="User interface event message types.">glEventType</a> from <a class="el" href="glEvents_8h.html">glEvents.h</a>), and a user-specified pointer from registration.</dd></dl>
<p><a class="el" href="group__threads.html#classEvent" title="Event object for signalling other threads.">Event</a> message handlers should return <code>true</code> if the message was handled, or <code>false</code> if the message was skipped or not handled.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#abd9f8f577749f268f8ae973a84333520" title="Register an event message handler the widget will send events to.">AddEventHandler</a> </dd>
<dd>
<a class="el" href="group__OpenGL.html#ab3cf5ffa3a98154149740b5ec95d62f0" title="Remove an event message handler from being called by the widget.">RemoveEventHandler</a> </dd></dl>

</div>
</div>
<h4 class="groupheader">Member Enumeration Documentation</h4>
<a id="ac9f39ca9d55807649bad14a53e02514e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9f39ca9d55807649bad14a53e02514e">&#9670;&nbsp;</a></span>DragState</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">glWidget::DragState</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea121e3c481027b9e4c2a8992615d3be64"></a>DragNone&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea1f6745ca15db1c3dce19abb72cec30ad"></a>DragMove&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea0c27e48ae1ee5d2295447809642ccf18"></a>DragResizeN&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea6aeb4e6769f3143a776d1d22738e1fac"></a>DragResizeNW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea0237ac0d2bd5c6bcd64375e498cba7dc"></a>DragResizeNE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514eab0616dbcca617af5fca82e5e47c5185e"></a>DragResizeS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea163ec6f4f1687ff9360ba1f34557c7e5"></a>DragResizeSW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea24c648bf3ea000c3c83403ddda25afb8"></a>DragResizeSE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea10414d584132d70ff0fe6987fedb38d2"></a>DragResizeW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac9f39ca9d55807649bad14a53e02514ea06b4c2ccb4718a192677e8da1c84c461"></a>DragResizeE&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<a id="a34532b25a0465161a8f4e591ffc3ad3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34532b25a0465161a8f4e591ffc3ad3c">&#9670;&nbsp;</a></span>Shape</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">glWidget::Shape</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shape enum. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a34532b25a0465161a8f4e591ffc3ad3cad04a01cc5e6e4e8e7647a73f5787891a"></a>Rect&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a34532b25a0465161a8f4e591ffc3ad3cac5e34b010d96dd6ff5729a5df336baff"></a>Line&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a34532b25a0465161a8f4e591ffc3ad3ca894b67c9e62420331395e399d387cdbc"></a>Ellipse&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<h4 class="groupheader">Constructor &amp; Destructor Documentation</h4>
<a id="a5f7240a0283bf7aec96f2e0c7b58b9e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f7240a0283bf7aec96f2e0c7b58b9e1">&#9670;&nbsp;</a></span>glWidget() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">glWidget::glWidget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a>&#160;</td>
          <td class="paramname"><em>shape</em> = <code><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3cad04a01cc5e6e4e8e7647a73f5787891a">Rect</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>

</div>
</div>
<a id="a7f688d56ef49185cfa92d69e87e3da00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f688d56ef49185cfa92d69e87e3da00">&#9670;&nbsp;</a></span>glWidget() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">glWidget::glWidget </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a>&#160;</td>
          <td class="paramname"><em>shape</em> = <code><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3cad04a01cc5e6e4e8e7647a73f5787891a">Rect</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>

</div>
</div>
<a id="a938b3d84be4081d4f6828df2f391cd46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a938b3d84be4081d4f6828df2f391cd46">&#9670;&nbsp;</a></span>~glWidget()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual glWidget::~glWidget </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h4 class="groupheader">Member Function Documentation</h4>
<a id="abd9f8f577749f268f8ae973a84333520"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd9f8f577749f268f8ae973a84333520">&#9670;&nbsp;</a></span>AddEventHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::AddEventHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a205213b643ddc9475c7a40da4711cda3">glWidgetEventHandler</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register an event message handler the widget will send events to. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callback</td><td>function pointer to the event message handler callback </td></tr>
    <tr><td class="paramname">user</td><td>optional user-specified pointer that will be passed to all invocations of this event handler (typically an object) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aed8d19970d2ab09e7dc7fc45de30f12b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed8d19970d2ab09e7dc7fc45de30f12b">&#9670;&nbsp;</a></span>Contains()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::Contains </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test if the point is inside the widget. </p>

</div>
</div>
<a id="ac4783b98aae002ce1bd5696396bd9070"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4783b98aae002ce1bd5696396bd9070">&#9670;&nbsp;</a></span>coordToBorder()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">DragState</a> glWidget::coordToBorder </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>max_distance</em> = <code>10.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a583557bb83aad6e5c42169c0b41a0dd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a583557bb83aad6e5c42169c0b41a0dd4">&#9670;&nbsp;</a></span>dispatchEvent()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::dispatchEvent </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae82ec5754f965f37ce5ed99681d8eff4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae82ec5754f965f37ce5ed99681d8eff4">&#9670;&nbsp;</a></span>GetCoords()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::GetCoords </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>y2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the bounding coordinates of the widget. </p>

</div>
</div>
<a id="a6bd2db265717ef90b6cbd65663c7f56f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bd2db265717ef90b6cbd65663c7f56f">&#9670;&nbsp;</a></span>GetDisplay()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a>* glWidget::GetDisplay </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the root window of the widget. </p>

</div>
</div>
<a id="a8099ad0207c2450231ab8b0ad4a5bd53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8099ad0207c2450231ab8b0ad4a5bd53">&#9670;&nbsp;</a></span>GetIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int glWidget::GetIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the index of the widget in the window (or -1 if none) </p>

</div>
</div>
<a id="afc49dde308a61b86ee18f9fec63de1a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc49dde308a61b86ee18f9fec63de1a1">&#9670;&nbsp;</a></span>GetPosition()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::GetPosition </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get position of widget in global window coordinates. </p>

</div>
</div>
<a id="a10e33fe5484d5411e7ce118c70e680b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10e33fe5484d5411e7ce118c70e680b1">&#9670;&nbsp;</a></span>GetShape()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a> glWidget::GetShape </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the shape. </p>

</div>
</div>
<a id="aecc3f788b33837162593b54565056d2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecc3f788b33837162593b54565056d2f">&#9670;&nbsp;</a></span>GetSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::GetSize </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the widget's size. </p>

</div>
</div>
<a id="a5cc9a94d7e6778b94e69ed1fb9e625da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cc9a94d7e6778b94e69ed1fb9e625da">&#9670;&nbsp;</a></span>GetUserData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void* glWidget::GetUserData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve user data. </p>

</div>
</div>
<a id="abad602c978f8ca73f197df4f690f1280"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abad602c978f8ca73f197df4f690f1280">&#9670;&nbsp;</a></span>GlobalToLocal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::GlobalToLocal </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>x_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>y_out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert from global window coordinates to local widget offset. </p>

</div>
</div>
<a id="a410c337398dd9fc5aa79c19539750642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a410c337398dd9fc5aa79c19539750642">&#9670;&nbsp;</a></span>Height()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::Height </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the widget's height. </p>

</div>
</div>
<a id="a795838e304f675e161a920fba097f5ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a795838e304f675e161a920fba097f5ae">&#9670;&nbsp;</a></span>initDefaults()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::initDefaults </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a6016740b9bfcf7c849dddf7f0fff98fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6016740b9bfcf7c849dddf7f0fff98fc">&#9670;&nbsp;</a></span>IsMoveable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::IsMoveable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the widget moveable/draggable by the user? </p>

</div>
</div>
<a id="af8be5c9bb96f9dd97833a628352360c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8be5c9bb96f9dd97833a628352360c1">&#9670;&nbsp;</a></span>IsResizeable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::IsResizeable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the widget resizeable by the user? </p>

</div>
</div>
<a id="aa9a1474827c54f17307b38fd0bdfc7ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9a1474827c54f17307b38fd0bdfc7ca">&#9670;&nbsp;</a></span>IsSelected()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::IsSelected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the widget selected? </p>

</div>
</div>
<a id="ad1ce1a241774d63cc1a0b2a07930fb92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1ce1a241774d63cc1a0b2a07930fb92">&#9670;&nbsp;</a></span>IsVisible()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::IsVisible </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the widget visible. </p>

</div>
</div>
<a id="a5d0f4c643dc9382bc3463f7178dcaeeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d0f4c643dc9382bc3463f7178dcaeeb">&#9670;&nbsp;</a></span>LocalToGlobal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::LocalToGlobal </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>x_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>y_out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert from local widget offset to global window coordinates. </p>

</div>
</div>
<a id="a3ef9c4e97e7998b6e150e7edfcce140c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ef9c4e97e7998b6e150e7edfcce140c">&#9670;&nbsp;</a></span>Move()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::Move </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move the widget's position by the specified offset. </p>

</div>
</div>
<a id="aadbd752016bf572f5e4c72888ca2a56a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadbd752016bf572f5e4c72888ca2a56a">&#9670;&nbsp;</a></span>OnEvent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::OnEvent </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab3cf5ffa3a98154149740b5ec95d62f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3cf5ffa3a98154149740b5ec95d62f0">&#9670;&nbsp;</a></span>RemoveEventHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::RemoveEventHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a205213b643ddc9475c7a40da4711cda3">glWidgetEventHandler</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove an event message handler from being called by the widget. </p>
<p><a class="el" href="group__OpenGL.html#ab3cf5ffa3a98154149740b5ec95d62f0" title="Remove an event message handler from being called by the widget.">RemoveEventHandler()</a> will search for previously registered event handlers that have the same function pointer and/or user pointer, and remove them for being called again in the future. </p>

</div>
</div>
<a id="ac8934c3e32deaf2d86e806f48c667b94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8934c3e32deaf2d86e806f48c667b94">&#9670;&nbsp;</a></span>Render()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::Render </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Render (automatically called by parent) </p>

</div>
</div>
<a id="a6bd07231a3e27058e2576faf800337e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bd07231a3e27058e2576faf800337e8">&#9670;&nbsp;</a></span>SetCoords()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetCoords </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the bounding coordinates of the widget. </p>

</div>
</div>
<a id="a4dc742d642246e0a52902baa9a628bb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dc742d642246e0a52902baa9a628bb5">&#9670;&nbsp;</a></span>setCursor()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::setCursor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">DragState</a>&#160;</td>
          <td class="paramname"><em>cursor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a886ee453d0b0d2c79438ff3db520f617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a886ee453d0b0d2c79438ff3db520f617">&#9670;&nbsp;</a></span>setDisplay()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::setDisplay </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a> *&#160;</td>
          <td class="paramname"><em>display</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a8abbff6976a842be844a62c81e5b71e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8abbff6976a842be844a62c81e5b71e8">&#9670;&nbsp;</a></span>SetFillAlpha()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetFillAlpha </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set fill alpha. </p>

</div>
</div>
<a id="a67543e3cef0771c57b317f6ad44ba9bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67543e3cef0771c57b317f6ad44ba9bc">&#9670;&nbsp;</a></span>SetFillColor()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetFillColor </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set fill color. </p>

</div>
</div>
<a id="ac835bf8ff0f03d34634aaff9b2e4e80e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac835bf8ff0f03d34634aaff9b2e4e80e">&#9670;&nbsp;</a></span>SetHeight()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetHeight </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the widget's height. </p>

</div>
</div>
<a id="a1f00e8ad61269abc413a52adddf42044"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f00e8ad61269abc413a52adddf42044">&#9670;&nbsp;</a></span>SetLineAlpha()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetLineAlpha </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set outline alpha. </p>

</div>
</div>
<a id="ac94ab886da5e37d1cbe9d32000c01700"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac94ab886da5e37d1cbe9d32000c01700">&#9670;&nbsp;</a></span>SetLineColor()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetLineColor </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set outline color. </p>

</div>
</div>
<a id="a64d351dab596aa07f1d8ef5c0628364b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64d351dab596aa07f1d8ef5c0628364b">&#9670;&nbsp;</a></span>SetLineWidth()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetLineWidth </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set outline width. </p>

</div>
</div>
<a id="a2a93b1a07f8fbd0ef4bb9beddea1ee2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a93b1a07f8fbd0ef4bb9beddea1ee2f">&#9670;&nbsp;</a></span>SetMoveable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetMoveable </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>moveable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Toggle if the user can move/drag the widget. </p>

</div>
</div>
<a id="abc85ba15d783f8693783321d474b61b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc85ba15d783f8693783321d474b61b2">&#9670;&nbsp;</a></span>SetPosition()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetPosition </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set position of widget in global window coordinates. </p>

</div>
</div>
<a id="a76ce29371050c947e4edabfcd00d2ba5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76ce29371050c947e4edabfcd00d2ba5">&#9670;&nbsp;</a></span>SetResizeable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetResizeable </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>resizeable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Toggle if the user can resize the widget. </p>

</div>
</div>
<a id="a137efa9e4be163b8ed78cc8579199986"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a137efa9e4be163b8ed78cc8579199986">&#9670;&nbsp;</a></span>SetSelected()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetSelected </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>selected</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Select/de-select the widget. </p>

</div>
</div>
<a id="a67e0fdf6cc515e0349c77c29a35f9e0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67e0fdf6cc515e0349c77c29a35f9e0b">&#9670;&nbsp;</a></span>SetSelectedFillColor()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetSelectedFillColor </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set selected fill color. </p>

</div>
</div>
<a id="a7e43a63d48c50cf89e874927980c8baf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e43a63d48c50cf89e874927980c8baf">&#9670;&nbsp;</a></span>SetSelectedLineColor()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetSelectedLineColor </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set selected outline color. </p>

</div>
</div>
<a id="a3610f2dfa2ae4af84c492c49a9e780d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3610f2dfa2ae4af84c492c49a9e780d0">&#9670;&nbsp;</a></span>SetShape()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetShape </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a>&#160;</td>
          <td class="paramname"><em>shape</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the shape. </p>

</div>
</div>
<a id="ae5c7bf0eb812a4f935e0ba8738828c97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5c7bf0eb812a4f935e0ba8738828c97">&#9670;&nbsp;</a></span>SetSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetSize </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the widget's size. </p>

</div>
</div>
<a id="a6769b290a1d646f111abdea3b0de78c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6769b290a1d646f111abdea3b0de78c1">&#9670;&nbsp;</a></span>SetUserData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetUserData </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set user-defined data. </p>

</div>
</div>
<a id="a0710d5b99bb86794ee0117e2cb910ec1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0710d5b99bb86794ee0117e2cb910ec1">&#9670;&nbsp;</a></span>SetVisible()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetVisible </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>visible</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Show/hide the widget. </p>

</div>
</div>
<a id="af55b147cc0621a07b85490cb6d7c1824"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af55b147cc0621a07b85490cb6d7c1824">&#9670;&nbsp;</a></span>SetWidth()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetWidth </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the widget's width. </p>

</div>
</div>
<a id="a3670b74a4763abbcd4d21500f4ac626c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3670b74a4763abbcd4d21500f4ac626c">&#9670;&nbsp;</a></span>SetX()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetX </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the widget's X coordinate. </p>

</div>
</div>
<a id="a9d55a8dcab6721a154b2e4f5ed53d586"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d55a8dcab6721a154b2e4f5ed53d586">&#9670;&nbsp;</a></span>SetY()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glWidget::SetY </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the widget's Y coordinate. </p>

</div>
</div>
<a id="aeded50b8cb9112b874013be651299674"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeded50b8cb9112b874013be651299674">&#9670;&nbsp;</a></span>Width()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::Width </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the widget's width. </p>

</div>
</div>
<a id="a4b0b580a068e05f6a4f96292e24a63b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b0b580a068e05f6a4f96292e24a63b6">&#9670;&nbsp;</a></span>X()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::X </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the widget's X coordinate. </p>

</div>
</div>
<a id="a634e82aa95f40ca76c2beec834769717"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a634e82aa95f40ca76c2beec834769717">&#9670;&nbsp;</a></span>Y()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::Y </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the widget's Y coordinate. </p>

</div>
</div>
<h4 class="groupheader">Friends And Related Function Documentation</h4>
<a id="abf272525875a119a6a3ee492f77f9f40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf272525875a119a6a3ee492f77f9f40">&#9670;&nbsp;</a></span>glDisplay</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h4 class="groupheader">Member Data Documentation</h4>
<a id="a0e268038b53182e91aa11b955a2c979b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e268038b53182e91aa11b955a2c979b">&#9670;&nbsp;</a></span>mDisplay</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a>* glWidget::mDisplay</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac8828581618930321f0ddb589b956744"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8828581618930321f0ddb589b956744">&#9670;&nbsp;</a></span>mDragState</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#ac9f39ca9d55807649bad14a53e02514e">DragState</a> glWidget::mDragState</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac184e8a4f67f8cd27c073e4a34188db0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac184e8a4f67f8cd27c073e4a34188db0">&#9670;&nbsp;</a></span>mEventHandlers</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="structglWidget_1_1eventHandler.html">eventHandler</a>&gt; glWidget::mEventHandlers</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac8ed0b33c5fa33dda0bbc4438d7d8521"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8ed0b33c5fa33dda0bbc4438d7d8521">&#9670;&nbsp;</a></span>mFillColor</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mFillColor[4]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="afbfbfe9388ac30a99fa3c6ce422e89f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbfbfe9388ac30a99fa3c6ce422e89f8">&#9670;&nbsp;</a></span>mHeight</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mHeight</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a7f15154b3f74e0aa123ec192e66b1011"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f15154b3f74e0aa123ec192e66b1011">&#9670;&nbsp;</a></span>mLineColor</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mLineColor[4]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a547aadefb60d6851d67921d97915fb24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a547aadefb60d6851d67921d97915fb24">&#9670;&nbsp;</a></span>mLineWidth</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mLineWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a95538a31f4d57c466a36f40dbd8562cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95538a31f4d57c466a36f40dbd8562cf">&#9670;&nbsp;</a></span>mMoveable</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::mMoveable</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a98e3826fac04535c03dc0858cdfb1304"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98e3826fac04535c03dc0858cdfb1304">&#9670;&nbsp;</a></span>mResizeable</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::mResizeable</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a48a4c2aa384316ec39cc10707e945821"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48a4c2aa384316ec39cc10707e945821">&#9670;&nbsp;</a></span>mSelected</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::mSelected</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae3f58166484b625be1c4f7f2ba40426f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3f58166484b625be1c4f7f2ba40426f">&#9670;&nbsp;</a></span>mSelectedFillColor</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mSelectedFillColor[4]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="afbb6667e680df535ae0f29881a670b3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbb6667e680df535ae0f29881a670b3a">&#9670;&nbsp;</a></span>mSelectedLineColor</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mSelectedLineColor[4]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad9102c8fbb5f691bd0ca077bd6dc7391"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9102c8fbb5f691bd0ca077bd6dc7391">&#9670;&nbsp;</a></span>mShape</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#a34532b25a0465161a8f4e591ffc3ad3c">Shape</a> glWidget::mShape</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a287d4315717939729f948c0ac73ebdbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a287d4315717939729f948c0ac73ebdbb">&#9670;&nbsp;</a></span>mUserData</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void* glWidget::mUserData</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac9bbb7e6994a717426e166fa52fbf390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9bbb7e6994a717426e166fa52fbf390">&#9670;&nbsp;</a></span>mVisible</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glWidget::mVisible</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0cb5fcc7ea63cd0e03390ed5d8a12d60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cb5fcc7ea63cd0e03390ed5d8a12d60">&#9670;&nbsp;</a></span>mWidth</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a14e536803cdf07f1186b5a1be256e2bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14e536803cdf07f1186b5a1be256e2bb">&#9670;&nbsp;</a></span>mX</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mX</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a3439736a22408fcc1fce45e642485530"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3439736a22408fcc1fce45e642485530">&#9670;&nbsp;</a></span>mY</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float glWidget::mY</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>

</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gaf3b91dc56dd99fa3abbce89be15fef93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf3b91dc56dd99fa3abbce89be15fef93">&#9670;&nbsp;</a></span>GL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;{ x; <a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>( #x, __FILE__, __LINE__ ); }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>OpenGL error-checking macro. </p>

</div>
</div>
<a id="ga99a7852633ed1a98e0f1918367355ec0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga99a7852633ed1a98e0f1918367355ec0">&#9670;&nbsp;</a></span>GL_CHECK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_CHECK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">msg</td><td>)</td>
          <td>&#160;&#160;&#160;{ <a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>(msg, __FILE__, __LINE__); }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print a message on OpenGL error. </p>

</div>
</div>
<a id="ga83b36ae7f5be085cfb52c24a8def5457"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga83b36ae7f5be085cfb52c24a8def5457">&#9670;&nbsp;</a></span>GL_FROM_CPU</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_FROM_CPU&#160;&#160;&#160;0x3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy the buffer from CPU to OpenGL. </p>

</div>
</div>
<a id="gaedd033c4196021ff338e5e123d7c193f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaedd033c4196021ff338e5e123d7c193f">&#9670;&nbsp;</a></span>GL_FROM_CUDA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_FROM_CUDA&#160;&#160;&#160;0x4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy the buffer from CUDA to OpenGL. </p>

</div>
</div>
<a id="gaa8030c5f4c6c173efeb78dbf732bd72c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa8030c5f4c6c173efeb78dbf732bd72c">&#9670;&nbsp;</a></span>GL_INDEX_BUFFER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_INDEX_BUFFER&#160;&#160;&#160;GL_ELEMENT_ARRAY_BUFFER</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for index buffers. </p>

</div>
</div>
<a id="ga35178b75efe97d52bb130b75e1ddd5f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga35178b75efe97d52bb130b75e1ddd5f3">&#9670;&nbsp;</a></span>GL_MAP_CPU</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_MAP_CPU&#160;&#160;&#160;0x1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the buffer to CPU address space. </p>

</div>
</div>
<a id="ga3ca90a8f0970ac09dcd34cf9908cbeee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3ca90a8f0970ac09dcd34cf9908cbeee">&#9670;&nbsp;</a></span>GL_MAP_CUDA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_MAP_CUDA&#160;&#160;&#160;0x2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the buffer to CUDA address space. </p>

</div>
</div>
<a id="gafe26dad29b9cb2620e815e5fecea71f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafe26dad29b9cb2620e815e5fecea71f9">&#9670;&nbsp;</a></span>GL_READ_ONLY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_READ_ONLY&#160;&#160;&#160;GL_READ_ONLY_ARB</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the buffer with read-only access. </p>

</div>
</div>
<a id="gaa5fd429fd2b79f5936c1421afb205dcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa5fd429fd2b79f5936c1421afb205dcd">&#9670;&nbsp;</a></span>GL_READ_WRITE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_READ_WRITE&#160;&#160;&#160;GL_READ_WRITE_ARB</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the buffer with read/write access. </p>

</div>
</div>
<a id="gae41a95ad5a27c61fb413ec178089a803"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae41a95ad5a27c61fb413ec178089a803">&#9670;&nbsp;</a></span>GL_RGB32F</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_RGB32F&#160;&#160;&#160;GL_RGB32F_ARB</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for GL_RGB32F. </p>

</div>
</div>
<a id="gace8155682f86789a9af13e7026df4615"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gace8155682f86789a9af13e7026df4615">&#9670;&nbsp;</a></span>GL_RGBA32F</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_RGBA32F&#160;&#160;&#160;GL_RGBA32F_ARB</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for GL_RGBA32F. </p>

</div>
</div>
<a id="ga1a91d7f7cdf8b17bbc503ef86e9de6a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1a91d7f7cdf8b17bbc503ef86e9de6a6">&#9670;&nbsp;</a></span>GL_TO_CPU</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_TO_CPU&#160;&#160;&#160;0x5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy the buffer to CPU from OpenGL. </p>

</div>
</div>
<a id="ga72987ef9b0b241cddbdca6da7d71dadf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga72987ef9b0b241cddbdca6da7d71dadf">&#9670;&nbsp;</a></span>GL_TO_CUDA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_TO_CUDA&#160;&#160;&#160;0x6</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy the buffer to CUDA from OpenGL. </p>

</div>
</div>
<a id="ga26503b7a548ff678a4dc5aa73de4c784"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga26503b7a548ff678a4dc5aa73de4c784">&#9670;&nbsp;</a></span>GL_VERIFY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_VERIFY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;{ x; if(<a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>( #x, __FILE__, __LINE__ )) return false; }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return false on OpenGL error. </p>

</div>
</div>
<a id="gae16e17292445d5654bb49896cdd49bcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae16e17292445d5654bb49896cdd49bcd">&#9670;&nbsp;</a></span>GL_VERIFYN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_VERIFYN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;{ x; if(<a class="el" href="group__OpenGL.html#ga9c5211ebc6e2eee2b12288cd52c4236e">glCheckError</a>( #x, __FILE__, __LINE__ )) return NULL; }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>OpenGL NULL on OpenGL error. </p>

</div>
</div>
<a id="ga0bd307cace43e530c0595a5f175bbee5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0bd307cace43e530c0595a5f175bbee5">&#9670;&nbsp;</a></span>GL_VERTEX_BUFFER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_VERTEX_BUFFER&#160;&#160;&#160;GL_ARRAY_BUFFER</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for vertex buffers. </p>

</div>
</div>
<a id="ga0eda41e13107c1422939c363e9596797"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0eda41e13107c1422939c363e9596797">&#9670;&nbsp;</a></span>GL_WRITE_DISCARD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_WRITE_DISCARD&#160;&#160;&#160;(<a class="el" href="group__OpenGL.html#gaa5fd429fd2b79f5936c1421afb205dcd">GL_READ_WRITE</a> + 0xff)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the buffer as write-only and discard previous contents. </p>

</div>
</div>
<a id="gab43997c5949dffce6674a7bb8a3059da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab43997c5949dffce6674a7bb8a3059da">&#9670;&nbsp;</a></span>GL_WRITE_ONLY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GL_WRITE_ONLY&#160;&#160;&#160;GL_WRITE_ONLY_ARB</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map the buffer with write-only access. </p>

</div>
</div>
<a id="ga8386b89daf8ec3a1805554fd95b80a9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8386b89daf8ec3a1805554fd95b80a9e">&#9670;&nbsp;</a></span>KEY_PRESSED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEY_PRESSED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for KEY_STATE and KEY_RAW events when key is pressed. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::KEY_STATE </dd></dl>

</div>
</div>
<a id="gada3a4be515b3527c1691ce080655877f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gada3a4be515b3527c1691ce080655877f">&#9670;&nbsp;</a></span>KEY_RELEASED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEY_RELEASED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for KEY_STATE and KEY_RAW events when key is released. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::KEY_STATE </dd></dl>

</div>
</div>
<a id="gabe9ef8f3c57b226efaf58ab3059bceab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabe9ef8f3c57b226efaf58ab3059bceab">&#9670;&nbsp;</a></span>LOG_GL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LOG_GL&#160;&#160;&#160;&quot;[OpenGL] &quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>OpenGL logging prefix. </p>

</div>
</div>
<a id="ga194f107d8c7d12bc83db00d024d5e513"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga194f107d8c7d12bc83db00d024d5e513">&#9670;&nbsp;</a></span>MOUSE_LEFT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MOUSE_LEFT&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for the left mouse button number. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::MOUSE_BUTTON </dd></dl>

</div>
</div>
<a id="ga2f7a686becd5d10c3cf769a6a1da7989"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2f7a686becd5d10c3cf769a6a1da7989">&#9670;&nbsp;</a></span>MOUSE_MIDDLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MOUSE_MIDDLE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for the middle mouse button (or scroll wheel button) </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::MOUSE_BUTTON </dd></dl>

</div>
</div>
<a id="ga2b6ad02991ecad1673dab379a9f58acd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2b6ad02991ecad1673dab379a9f58acd">&#9670;&nbsp;</a></span>MOUSE_PRESSED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MOUSE_PRESSED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for MOUSE_BUTTON event when button is pressed. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::MOUSE_BUTTON </dd></dl>

</div>
</div>
<a id="gaa430fb566e84a444e76ca05486dc882d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa430fb566e84a444e76ca05486dc882d">&#9670;&nbsp;</a></span>MOUSE_RELEASED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MOUSE_RELEASED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for MOUSE_BUTTON event when button is released. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::MOUSE_BUTTON </dd></dl>

</div>
</div>
<a id="ga46f1ed1152bf8bf7680873ad678b3651"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga46f1ed1152bf8bf7680873ad678b3651">&#9670;&nbsp;</a></span>MOUSE_RIGHT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MOUSE_RIGHT&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for the right mouse button number. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::MOUSE_BUTTON </dd></dl>

</div>
</div>
<a id="ga5a8cfef1d06f7b507fd2ecab7bf75ead"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5a8cfef1d06f7b507fd2ecab7bf75ead">&#9670;&nbsp;</a></span>MOUSE_WHEEL_DOWN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MOUSE_WHEEL_DOWN&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for the mouse wheel scroll down button number. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::MOUSE_BUTTON </dd></dl>

</div>
</div>
<a id="ga5268fa4c5e397526716bac7b30f639ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5268fa4c5e397526716bac7b30f639ee">&#9670;&nbsp;</a></span>MOUSE_WHEEL_UP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MOUSE_WHEEL_UP&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define for the mouse wheel scroll up button number. </p>
<dl class="section see"><dt>See also</dt><dd>glEventType::MOUSE_BUTTON </dd></dl>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gacbcfc0668226b31d1becba25887ff47e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacbcfc0668226b31d1becba25887ff47e">&#9670;&nbsp;</a></span>glEventHandler</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef bool(* glEventHandler) (uint16_t event, int a, int b, void *user)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="group__threads.html#classEvent" title="Event object for signalling other threads.">Event</a> message handler callback for recieving UI messages from a window. </p>
<p>Recieves 4 parameters - the event type, a &amp; b message values (see above), and a user-specified pointer from registration.</p>
<p><a class="el" href="group__threads.html#classEvent" title="Event object for signalling other threads.">Event</a> message handlers should return <code>true</code> if the message was handled, or <code>false</code> if the message was skipped or not handled.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="glEvents_8h.html#a0e117949b724f95480214c0ac4545de1" title="Register an event message handler that will be called with events.">glRegisterEvents</a> </dd>
<dd>
glRemoveEvents </dd></dl>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gadad47fc5cdbc7af41eee1991038749fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadad47fc5cdbc7af41eee1991038749fe">&#9670;&nbsp;</a></span>glEventType</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__OpenGL.html#gadad47fc5cdbc7af41eee1991038749fe">glEventType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>User interface event message types. </p>
<p>Each event message consists of the event type, a &amp; b message values, and a user-specified pointer. The event types and message values are desribed below for each type of message.</p>
<p>These event messages are dispatched at runtime to glEventHandler callbacks that have been registered via <a class="el" href="glEvents_8h.html#a0e117949b724f95480214c0ac4545de1" title="Register an event message handler that will be called with events.">glRegisterEvents()</a></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e" title="Event message handler callback for recieving UI messages from a window.">glEventHandler</a> </dd>
<dd>
<a class="el" href="glEvents_8h.html#a0e117949b724f95480214c0ac4545de1" title="Register an event message handler that will be called with events.">glRegisterEvents</a> </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea7513d383f97428a41f8b44594874d469"></a>MOUSE_MOVE&#160;</td><td class="fielddoc"><p>Message when the mouse has moved (relative coordinates) </p>
<p>a = x position, relative to window top-left b = y position, relative to window top-left</p>
<dl class="section note"><dt>Note</dt><dd>the mouse must be within the window to recieve this message, and the coordinates will be provided in coordinates relative to the top-left of the window </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea8de816dffb2b2835bd493047322de4d8"></a>MOUSE_ABSOLUTE&#160;</td><td class="fielddoc"><p>Message when the mouse has moved (absolute coordinates) </p>
<p>a = x position, in absolute screen coordinates b = y position, in absolute screen coordinates</p>
<dl class="section note"><dt>Note</dt><dd>the mouse must be within the window to recieve this message, and the coordinates will be provided in absolute screen coordinates regardless of window. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fead81c1a06c50141d5a469d4513479c24c"></a>MOUSE_BUTTON&#160;</td><td class="fielddoc"><p>Message when a mouse button has been pressed/released. </p>
<p>a = button ID b = MOUSE_PRESSED or MOUSE_RELEASED</p>
<p>Here is the mapping of the mouse buttons to their ID: </p><pre class="fragment"> - 1 MOUSE_LEFT       (left button)
</pre><ul>
<li>2 MOUSE_MIDDLE (middle button / scroll wheel button)</li>
<li>3 MOUSE_RIGHT (right button)</li>
<li>4 MOUSE_WHEEL_UP (scroll wheel up)</li>
<li>5 MOUSE_WHEEL_DOWN (scroll wheel down) </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea387b8a2503db0238598215649168bed3"></a>MOUSE_DRAG&#160;</td><td class="fielddoc"><p>Message when the left mouse button has been dragged. </p>
<p>a = x delta (change in position) b = y delta (change in position)</p>
<dl class="section note"><dt>Note</dt><dd>the mouse must be within the window to recieve this message, and the coordinates will be provided as a delta from the change in position from last message </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea477b36ffc584a4458ea59eb24c7ea4cb"></a>MOUSE_WHEEL&#160;</td><td class="fielddoc"><p>Message when the mouse wheel has been scrolled a = -1 for scrolled up, or +1 for scrolled down. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749feaa7990d29ca8911d1d65ebe318e3bfdad"></a>KEY_STATE&#160;</td><td class="fielddoc"><p>Message when a key state has changed (raw, without modifiers applied) </p>
<p>a = raw key symbol (without modifier translation) b = KEY_PRESSED or KEY_RELEASED</p>
<p>These raw symbols are left unmodified, so they won't be changed by keys like Shift, CapsLock, NumLock, ect. Letters will always be reported as lowercase. For example if you press Shift + a, it will still be reported as XK_a (a)</p>
<dl class="section see"><dt>See also</dt><dd><code>/usr/include/X11/keysymdef.h</code> for the <code>XK_ KeySym</code> symbol definitions. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749feac72a03e9a29e852b03999c7a8a2076b5"></a>KEY_MODIFIED&#160;</td><td class="fielddoc"><p>Message when a key has been pressed or released (with modifiers applied) </p>
<p>a = key symbol (with modifier translations) b = KEY_PRESSED or KEY_RELEASED</p>
<p>These symbols have modifiers applied (Shift, CapsLock, NumLock, ect), so for example if you press Shift + a, it will be reported as XK_A (A)</p>
<dl class="section see"><dt>See also</dt><dd><code>/usr/include/X11/keysymdef.h</code> for the <code>XK_ KeySym</code> symbol definitions. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea8f72d21c8a5a305ff69f576d6a799c08"></a>KEY_CHAR&#160;</td><td class="fielddoc"><p>Message when a keyboard ASCII character (0-255) was entered. </p>
<p>a = ASCII character (0-9, a-Z, !-?, ect.)</p>
<p>These will have modifiers applied (Shift, CapsLock, NumLock, ect), so for example if you press Shift + a, it will be reported as 'A'. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea596bff109a8d5a26abf4e8d776903919"></a>WIDGET_CREATED&#160;</td><td class="fielddoc"><p>Message indicating that a widget has been created (e.g. </p>
<p>from dragging)</p>
<p>a = widget index into <a class="el" href="group__OpenGL.html#ab03fa54f8098a9db65bbdc1f00622ab0" title="Retrieve a widget.">glDisplay::GetWidget()</a> or <a class="el" href="group__OpenGL.html#a8099ad0207c2450231ab8b0ad4a5bd53" title="Get the index of the widget in the window (or -1 if none)">glWidget::GetIndex()</a></p>
<dl class="section note"><dt>Note</dt><dd>this message is sent by both <a class="el" href="group__OpenGL.html#classglWidget" title="OpenGL graphics widget for rendering moveable/resizable shapes.">glWidget</a> and <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a>. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#abd9f8f577749f268f8ae973a84333520" title="Register an event message handler the widget will send events to.">glWidget::AddEventHandler()</a> to subscribe to widget events. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea1a95cd0d3e7b79901949c2aa3397c955"></a>WIDGET_SELECTED&#160;</td><td class="fielddoc"><p>Message indicating that a widget has been selected (e.g. </p>
<p>from dragging)</p>
<p>a = widget index into <a class="el" href="group__OpenGL.html#ab03fa54f8098a9db65bbdc1f00622ab0" title="Retrieve a widget.">glDisplay::GetWidget()</a> or <a class="el" href="group__OpenGL.html#a8099ad0207c2450231ab8b0ad4a5bd53" title="Get the index of the widget in the window (or -1 if none)">glWidget::GetIndex()</a></p>
<dl class="section note"><dt>Note</dt><dd>this message is sent by both <a class="el" href="group__OpenGL.html#classglWidget" title="OpenGL graphics widget for rendering moveable/resizable shapes.">glWidget</a> and <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a>. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#abd9f8f577749f268f8ae973a84333520" title="Register an event message handler the widget will send events to.">glWidget::AddEventHandler()</a> to subscribe to widget events. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea0ec18df1c78ce7428c5a828b29ec8c83"></a>WIDGET_MOVED&#160;</td><td class="fielddoc"><p>Message from a widget indicating that it's been moved by the user. </p>
<p>This event is only sent if the user moved the widget in the GUI (i.e. if <a class="el" href="group__OpenGL.html#a6016740b9bfcf7c849dddf7f0fff98fc" title="Is the widget moveable/draggable by the user?">glWidget::IsMoveable()</a> was set), and not if the widget was moved programatically via <a class="el" href="group__OpenGL.html#a3ef9c4e97e7998b6e150e7edfcce140c" title="Move the widget&#39;s position by the specified offset.">glWidget::Move()</a>, <a class="el" href="group__OpenGL.html#abc85ba15d783f8693783321d474b61b2" title="Set position of widget in global window coordinates.">glWidget::SetPosition()</a>, <a class="el" href="group__OpenGL.html#a3670b74a4763abbcd4d21500f4ac626c" title="Set the widget&#39;s X coordinate.">glWidget::SetX()</a>, <a class="el" href="group__OpenGL.html#a9d55a8dcab6721a154b2e4f5ed53d586" title="Set the widget&#39;s Y coordinate.">glWidget::SetY()</a>, ect.</p>
<p>a = new X coordinate b = new Y coordinate</p>
<dl class="section note"><dt>Note</dt><dd>this message is only sent by <a class="el" href="group__OpenGL.html#classglWidget" title="OpenGL graphics widget for rendering moveable/resizable shapes.">glWidget</a> (not <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a>). </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#abd9f8f577749f268f8ae973a84333520" title="Register an event message handler the widget will send events to.">glWidget::AddEventHandler()</a> to subscribe to widget events. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749fea833cc0c2132855c06b26ee0508f22116"></a>WIDGET_RESIZED&#160;</td><td class="fielddoc"><p>Message from a widget indicating that it's been resized. </p>
<p>This event is only sent if the user resized the widget in the GUI (i.e. if glWidget::IsResizable() was set), and not if the widget was resized programatically via <a class="el" href="group__OpenGL.html#ae5c7bf0eb812a4f935e0ba8738828c97" title="Set the widget&#39;s size.">glWidget::SetSize()</a>, <a class="el" href="group__OpenGL.html#af55b147cc0621a07b85490cb6d7c1824" title="Set the widget&#39;s width.">glWidget::SetWidth()</a>, or <a class="el" href="group__OpenGL.html#ac835bf8ff0f03d34634aaff9b2e4e80e" title="Set the widget&#39;s height.">glWidget::SetHeight()</a>.</p>
<p>a = new width b = new height</p>
<dl class="section note"><dt>Note</dt><dd>this message is only sent by <a class="el" href="group__OpenGL.html#classglWidget" title="OpenGL graphics widget for rendering moveable/resizable shapes.">glWidget</a> (not <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a>). </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__OpenGL.html#abd9f8f577749f268f8ae973a84333520" title="Register an event message handler the widget will send events to.">glWidget::AddEventHandler()</a> to subscribe to widget events. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749feafb6f46ac831d8060d921687aba839a82"></a>WINDOW_RESIZED&#160;</td><td class="fielddoc"><p>Message indicating that the window has been resized. </p>
<p>a = new width (in pixels) b = new height (in pixels) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadad47fc5cdbc7af41eee1991038749feaa2199f69612be7b5e44d25fab5dab570"></a>WINDOW_CLOSED&#160;</td><td class="fielddoc"><p>Message indicating that the window is closing. </p>
<p>(no parameters) </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga9c5211ebc6e2eee2b12288cd52c4236e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c5211ebc6e2eee2b12288cd52c4236e">&#9670;&nbsp;</a></span>glCheckError() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glCheckError </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>OpenGL error check + logging. </p>

</div>
</div>
<a id="gaa1e51833a1b003db2359ea965e501806"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa1e51833a1b003db2359ea965e501806">&#9670;&nbsp;</a></span>glCheckError() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool glCheckError </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>line</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>OpenGL error-checking messsage function. </p>

</div>
</div>
<a id="gae1351087d1392a2515441ba778e05259"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae1351087d1392a2515441ba778e05259">&#9670;&nbsp;</a></span>glDrawLine()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glDrawLine </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>thickness</em> = <code>2.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Render a line in screen coordinates with the specified color. </p>
<dl class="section note"><dt>Note</dt><dd>the RGBA color values are expected to be in the range of [0-1] </dd></dl>

</div>
</div>
<a id="ga660ba418bd80bc2d03f4074f96b36b95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga660ba418bd80bc2d03f4074f96b36b95">&#9670;&nbsp;</a></span>glDrawOutline()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glDrawOutline </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>thickness</em> = <code>2.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Render the outline of a rect in screen coordinates with the specified color. </p>
<dl class="section note"><dt>Note</dt><dd>the RGBA color values are expected to be in the range of [0-1] </dd></dl>

</div>
</div>
<a id="ga3b01504c8fc6cf9553989916a471ce23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3b01504c8fc6cf9553989916a471ce23">&#9670;&nbsp;</a></span>glDrawRect()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glDrawRect </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em> = <code>1.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Render a filled rect in screen coordinates with the specified color. </p>
<dl class="section note"><dt>Note</dt><dd>the RGBA color values are expected to be in the range of [0-1] </dd></dl>

</div>
</div>
<a id="ga6af68c26b9f5254ee676de8b6f332ad4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6af68c26b9f5254ee676de8b6f332ad4">&#9670;&nbsp;</a></span>glGetDisplay()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OpenGL.html#classglDisplay">glDisplay</a>* glGetDisplay </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>display</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve a display window object. </p>

</div>
</div>
<a id="ga80a5aa43c317714fe5bb41e1db6eb4c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga80a5aa43c317714fe5bb41e1db6eb4c4">&#9670;&nbsp;</a></span>glGetNumDisplays()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t glGetNumDisplays </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the number of created <a class="el" href="group__OpenGL.html#classglDisplay" title="OpenGL display window and image/video renderer with CUDA interoperability.">glDisplay</a> windows. </p>

</div>
</div>
<a id="gae70530a98d9a14c84fffea7e3f3083ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae70530a98d9a14c84fffea7e3f3083ab">&#9670;&nbsp;</a></span>glPrintFreeMem()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void glPrintFreeMem </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Print the amount of free GPU memory. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Tue Mar 28 2023 14:27:58 for Jetson Inference by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
